gpt4 book ai didi

javascript - 从数组中删除重复项(理解代码)

转载 作者:行者123 更新时间:2023-11-27 22:42:15 25 4
gpt4 key购买 nike

我正在看一个练习,但无法理解以下内容是如何工作的(我正在尝试从数组中删除重复项)

var arr = ['a','b','c','a','b','d','e','f'];
var uniqueArray = arr.filter(function(item,pos){
return arr.indexOf(item) == pos;
});

我试图理解

这里item采用了arr中的所有值。让我们进行一次迭代第一项 = 'a'pos = 0。好的。现在我们只想根据 'a' 的索引是否与 0

相同进行过滤

此处indexOf(a) == 0

太棒了!这是真的,让我们把它放入新数组中。

现在让我们再次看到 a 的位置,即 pos = 3

arr.indexOf(a) == 3

等等...这也满足我们的要求吗?这如何删除重复项?

最佳答案

indexOf 仅返回一个整数值,它是第一个找到的项目的索引。因此,当 pos 为 3(且 itema)时,indexOf 将返回 0(因为第一个a 的索引为 0),0==3 为 false,该元素将被删除。

然后,当 pos 为 4(且 itemb)时,indexOf 返回 2,即第一个找到的 b 的索引。

<小时/>

对于对象来说,它们不能有重复的键。每个新 key 都会自动覆盖旧 key ,因此不会出现任何重复。

看:

var obj = {a:1, a:3, b:2,c:5,b:4};
console.log(obj)

关于javascript - 从数组中删除重复项(理解代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38662973/

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