UPD:
我应该用什么来从另一个物体中移除一些物体?
data[ 'some_key' ] = undefined
是否足够好?
原始问题:
我想删除一些存储在另一个对象中的对象,其中一些是这样的:
var data = {
'a': {...},
'b': {...},
'c': {...},
...
}
使用“删除”操作符是不是一个非常好的做法? 什么时候应该而且不应该使用它?
答案 0 :(得分:-1)
删除数组中的元素,创建漏洞(长度属性未更新)
> var arr = [ 'a', 'b' ];
> arr.length
2
> delete arr[1] // does not update length
true
> arr
[ 'a', ]
> arr.length
2
您还可以通过减少数组的长度来删除尾随数组元素。
删除是删除对象属性而没有任何剩余物的唯一真正方法,但它的效果要慢100倍,相比之下"替代",设置对象[key] =未定义。