Javascript“删除”运算符

时间:2016-04-18 11:44:23

标签: javascript

UPD:
我应该用什么来从另一个物体中移除一些物体? data[ 'some_key' ] = undefined是否足够好?

原始问题:
我想删除一些存储在另一个对象中的对象,其中一些是这样的:

var data = {
    'a': {...},
    'b': {...},
    'c': {...},
    ...
}

使用“删除”操作符是不是一个非常好的做法? 什么时候应该而且不应该使用它?

1 个答案:

答案 0 :(得分:-1)

删除数组中的元素,创建漏洞(长度属性未更新)

> var arr = [ 'a', 'b' ];
> arr.length
2
> delete arr[1]  // does not update length
true
> arr
[ 'a',  ]
> arr.length
2

您还可以通过减少数组的长度来删除尾随数组元素。

删除是删除对象属性而没有任何剩余物的唯一真正方法,但它的效果要慢100倍,相比之下"替代",设置对象[key] =未定义。