json数组删除对象。。。(报错 Cannot read property 'xxx' of null)

在写一个删除服务器数据的函数。。。

由于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     可选,选择添加操作时填入,表示需要添加的元素。

 

引用自:https://www.cnblogs.com/jiangzilong/p/6149605.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值