javascript - 在 javascript 中通过引用删除数组的项目?

标签 javascript arrays object

我有一个 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/

相关文章:

javascript - 为什么我在控制台中看到 Object.apply,而我无法在对象上使用它?

Javascript:确定数组中的所有元素是否都是对象中的键

javascript - Bootstrap 单选按钮和切换按钮的 Jquery 插件兼容性

javascript - 第 3 方 React 模块(效应器)的 Webpack 错误

JavaScript 字符串属性

Javascript数组,修改所有键的值

javascript - 迭代对象数组 - *ngFor - Angular 6

python - 如何查找数组的任何元素是否在 pyspark 的范围内

c - 第 N 个元素的数组,尝试从左到右和从右到左添加元素

php - Magento 继承链。好的还是坏的做法?