我有一个数组input
和另一个数组indexes
。我想从input
数组中提供索引的数组indexes
中删除项目。
我在array.splice
中使用for loop
进行了尝试,但在每次迭代中删除item
时,其他项的索引都会被更改。
的JavaScript :
var array = [10, 11, 12, 13, 14, 15];
var indexes = [0, 1, 2, 3, 4, 5];
indexes.forEach(function(item) {
array.splice(item, 1);
});
console.log(array);
答案 0 :(得分:1)
您可以使用Array.prototype.filter
并执行以下操作:
var array = [10, 11, 12, 13, 14, 15];
var indexes = [0, 1, 2, 3, 4, 5];
array = array.filter(function(x, i) {
return indexes.indexOf(i) === -1;
});
console.log(array);

答案 1 :(得分:1)
在这里你使用forEach循环,它给你作为第一个参数的项目和第二个参数的索引,所以根据我的理解你想要做的事情可以通过这个实现,试试这希望这解决你的问题:)
indexes.forEach(function(item, index) {
array.splice(index, 1);
});
答案 2 :(得分:0)
将索引数组从高到低排序,然后spice只会更改已删除的数字的索引