是否可以从JavaScript数组中删除条目?当使用delete运算符时,列表中的条目将替换为null。
data = [{pid:30, pname:abc}, {pid:31, pname:def}, {pid:32, pname:zxc}]
delete data[1]
变为:
data = [{pid:30, pname:abc}, null, {pid:32, pname:zxc}]
仅供参考我是从ajax电话回来的json。返回的值被解析为var data = YAHOO.lang.JSON.parse(result.value || '[]')
答案 0 :(得分:1)
有许多图书馆处理JSON内容的序列化和反序列化。其中许多库也允许您操纵JSON中的数据。
根据您使用的语言决定您决定使用哪个库。
更多细节会有所帮助。
答案 1 :(得分:1)
在列表中排序然后split()怎么样?
答案 2 :(得分:0)
这是JavaScript Array类的问题。删除值总会留下一个漏洞。你需要创建一个没有洞的新数组。这样的事情可能会有所帮助:
Array.prototype.removeItem = function(index){
var newArray = []
for (var i =0; i < this.length; ++i){
if (i==index||typeof this[i] === "undefined") continue;
newArray.push(this[i]);
}
return newArray;
}
var a1 = [1,2,3,4,5]
delete a1[1]
alert(a1.join())
//prints 1,,3,4,5
var a2 = a1.removeItem(3)
alert(a2.join())
//prints 1,3,5 -- removed item 3 and previously "deleted" item 1