使用任意数字索引从JavaScript数组中删除项目

时间:2017-01-13 22:12:28

标签: javascript arrays splice

我无法确定如何从数组中删除项目,其中项目的索引方式类似于以下方式:

arr[32] = 123
arr[39] = 456
arr[92] = 789
...

我尝试从所述数组中删除单个特定项目的两种方法导致所有项目都被删除。

尝试方法#1:

arr.splice(39, 1);

尝试方法#2:

arr.forEach(function(val, key) {
    if (val == 456) {
        arr.splice(key, 1);
    }
}

现在显然这不是我的代码看起来的样子,但它显示了我已经尝试过的东西。如果我遗漏了任何重要的细节,或者您希望我从源代码中选择代码以查看它是否在源代码内而不是方法论,请询问

1 个答案:

答案 0 :(得分:2)

虽然拼接会改变数组的长度,而给定的数组似乎依赖于索引,但您可以将项目设置为undefined

var arr = [];

arr[32] = 123;
arr[39] = 456;
arr[92] = 789;

arr[39] = undefined;

console.log(arr[92]);