我有一个 javascript 对象如下:
obj = {
a: 'a',
b: 'b',
}
我将 obj
添加到数组中,如下所示:
arr = [];
arr.push(obj);
现在我想删除arr[0]
。我只能访问obj
,但我想删除obj
然后自动删除arr[0]
。
我该怎么做,或者这可能吗?
最佳答案
保存插入对象的索引:
arr.push(obj);
var index = arr.length - 1;
然后向对象添加一个方法以使用保存的索引将其从数组中删除:
obj.remove = function () {
delete arr[index];
};
然后,在您代码中的其他地方 arr
超出范围,就这样做
obj.remove();
注意:这会在数组中对象所在的位置留下一个空洞,它不会重新组织数组,左右移动元素来填充空洞。如果不想留坑,就不要用数组,改用链表。
关于javascript - 在 javascript 中通过引用删除数组的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32411571/