JS / Jquery - 通过键从数组中删除多个元素

时间:2012-01-17 15:04:31

标签: javascript jquery arrays

我有一组键(例如2,3,4,101,102,454)。

我想从数组中删除带有这些键的元素。 有没有办法一次性删除它们?

我尝试迭代for循环并使用splice 逐个删除元素,但从未删除过 所有元素 - 我的猜测是因为它修改了 数组我正在循环。

2 个答案:

答案 0 :(得分:10)

倒退。

如果你从0开始循环 - > n,修改刚刚删除的项目之后元素的索引。

如果你倒退,从n - >; 0,你没有那个问题。

答案 1 :(得分:1)

您可以对索引进行排序以删除最大的索引 -

// array = array,removal = [2,3,4,101,102,454]

var i=0, L=removal.length;
removal.sort(function(a,b){return b-a});
while(i< L){
    array.splice(removal[i],1);
}