【发布时间】:2012-05-03 03:59:05
【问题描述】:
我有一个数组:
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G']
并且我有一个要删除的索引数组:
var remove = [1, 3, 5]
所以结果是:
arr ==== ['A', 'C', 'E', 'G']
我不能在循环中使用拼接:
// WRONG
for (i = 0, l = remove.length; i < l; i++) {
arr.splice(remove[i]);
}
因为每次迭代后每个元素的索引都发生了变化。
那么我该怎么做呢?
【问题讨论】:
-
从数组末尾开始,向后工作?
-
对删除数组进行排序,使键按降序排列,这样您就可以从
arr数组的后面开始工作。 (或按升序排序,然后按相反顺序循环)。
标签: javascript arrays indices