考虑来自另一个数组的索引,从数组中拼接项目

时间:2015-12-10 10:47:00

标签: javascript arrays foreach

我有一个数组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);

3 个答案:

答案 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只会更改已删除的数字的索引