【发布时间】:2011-02-24 02:59:33
【问题描述】:
我在使用 JSON 和数组时遇到了一些问题。我一直在搞 JSON 一段时间,并试图通过重构旧的实现在生产中使用一些。我有两个隐藏的文本字段,一个是格式为 [1][2][3] 等的商店 ID,另一个是 [name1][name2][name3] 所以我认为这将是一个很好的练习来了解更多关于JSON 并对其进行重构并使用更易读的对象表示法。
无论如何,我离题了。我遇到的问题很有趣,我发现了如何将 JSON“推送”到数组中,但问题出在我的删除方法中。当我从数组中删除一个对象时,逗号会持续存在,从而创建“未定义”对象。我做错了吗,有没有更好的方法?
向数组中添加了 2 个项目(一切正常)
[{
id: "1",
name: "Test (ID: 1)",
status: "new"
}, {
id: "2",
name: "Test 2 (ID: 2)",
status: "new"
}]
从数组中删除 1 项(逗号保留)
[{
id: "1",
name: "Test (ID: 1)",
status: "new"
}, , ]
将另一个项目重新添加到数组中,逗号现在会导致“未定义”对象
[{
id: "1",
name: "Test (ID: 1)",
status: "new"
}, , {
id: "2",
name: "Test 2 (ID: 2)",
status: "new"
}]
这是我的删除功能
function removeFromList(Id) {
var txtIDs = $("#<%= selected.ClientID %>");
var data = eval(txtIDs.val());
for (var i = 0; i < data.length; i++) {
alert(typeof(data[i]));
if (typeof(data[i]) != 'undefined') {
if (data[i].id == Id)
delete data[i]; // alert(data[i].name); //
}
}
}
感谢您帮我看这个:)
罗伯
【问题讨论】:
标签: javascript json