gpt4 book ai didi

javascript - 从 JavaScript 数组中移除索引数组

转载 作者:行者123 更新时间:2023-11-30 08:11:05 27 4
gpt4 key购买 nike

我有一个数组:

var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G']

我有一个索引数组,我想删除它们:

var remove = [1, 3, 5]

所以结果是:

arr ==== ['A', 'C', 'E', 'G']

我不能在一个循环中用 splice 来做:

// WRONG
for (i = 0, l = remove.length; i < l; i++) {
arr.splice(remove[i]);
}

因为在每次迭代之后,每个元素的索引都发生了变化。

那我该怎么做呢?

最佳答案

> arr.filter(function(x,i){return remove.indexOf(i)==-1})
["A", "C", "E", "G"]

为了更高效,首先将remove转换成对象/哈希表,如下所示:

var removeTable = {}
remove.forEach(function(x){removeTable[x]=true})

> arr.filter(function(x,i){return removeTable[i]})
["A", "C", "E", "G"]

关于javascript - 从 JavaScript 数组中移除索引数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10265321/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com