在写一个删除服务器数据的函数。。。
由于tcl,在网上百度了一下 如何删除json数组中的对象,很容易百度到的就是 delete...
我也实际操作了一下,能成功删除,之后再遍历服务器json数据,cmd就一直报错 Cannot read property 'store' of null ...
查看了一下json数据,原来删除的那个位置数据变成了 null , 然而又将数据添加回去,又不会报错了。。。
于是又百度,看见了一篇正解。。
对于delete
var test = [{ "a": "1", "b": "2" }, { "a": "3", "b": "4" }, { "a": "5", "b": "6" }];
test.length //输出为 3
delete test[1];
test.length //输出仍为 3
查询运算符delete我们知道它只是将该值置为undefined,而不会影响数组长度,即将其变为稀疏数组(《JS权威指南》7.5节)。
彻底剔除该元素,在JS方法中我们可以查到一种更加简便的方式:splice() 方法
var test = [{ "a": "1", "b": "2" }, { "a": "3", "b": "4" }, { "a": "5", "b": "6" }];
test.length //输出为 3
test.splice(1, 1);
test.length //输出为 2
删除后test.length变为2
arrayObject.splice(index, howmany, item1, ....., itemX) 方法向/从数组中添加/删除项目,然后返回被删除的项目。
参数1:index 为插入添加或(和)删除的起始位置;
参数2:howmany 指定从数组中添加/删除的元素个数;
参数3:item1, ....., itemX 可选,选择添加操作时填入,表示需要添加的元素。