我有一个像这样的 JavaScript 对象:
id="1";
name = "serdar";
我有一个包含许多上述对象的数组。我该如何从该数组中删除一个对象,例如:
obj[1].remove();
我有一个像这样的 JavaScript 对象:
id="1";
name = "serdar";
我有一个包含许多上述对象的数组。我该如何从该数组中删除一个对象,例如:
obj[1].remove();
使用 delete 关键字。
delete obj[1];
编辑: 参见:JavaScript中删除数组元素 - delete vs splice delete将使偏移量未定义,但不会完全删除该条目。像David所说,使用Splice是正确的。
delete obj[1];
obj.pop()
。
delete
将取消定义偏移量但不完全删除”的说法——这并不完全正确,因为如我在答案中所示,在if (3 in trees)
测试中,delete
将完全删除该元素。唯一的问题是它不会移动其他元素以填补空洞,因此长度不受影响。因此,如果您显示数组,您将在存在空洞的地方得到undefined
。 - Daniel Vassallodelete
并不等同于将元素设置为undefined
。这也在这里解释了:https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Operators/Special_Operators/delete_Operator#Deleting_array_elements - Daniel Vassallo