我有一个数组:从JavaScript数组中删除索引数组
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]);
}
因为后每次迭代的各元素的索引已经改变。
那么我该如何做到这一点?
从数组的末尾开始,并向后工作? – 2012-04-22 04:52:39
对你的删除数组进行排序,以便按降序排列,所以你可以从'arr'数组的后面开始工作。 (或按升序排序,然后按相反顺序循环)。 – 2012-04-22 04:53:10