我有一组键(例如2,3,4,101,102,454)。
我想从数组中删除带有这些键的元素。 有没有办法一次性删除它们?
我尝试迭代for
循环并使用splice
逐个删除元素,但从未删除过
所有元素 - 我的猜测是因为它修改了
数组我正在循环。
答案 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);
}