如何在 JavaScript 中使用 indexOf 和 filter()

Nic*_*cea 5 javascript arrays indexof

这是我找到的用于回答这个问题的代码:编写一个 JavaScript 程序以从数组中删除重复项(忽略大小写敏感)。

var arr1=[3, 'a', 'a', 'a', 2, 3, 'a', 3, 'a', 2, 4, 9, 3, 'A'];

var uniqueArray = arr1.filter(function(elem,i,rep){
    return i == rep.indexOf(elem);
})
console.log(uniqueArray);
Run Code Online (Sandbox Code Playgroud)

我知道 filter() 的作用,并且 indexOf 用于查找元素第一次出现的索引,但我不明白这一行是如何做到的:

i == rep.indexOf(elem);
Run Code Online (Sandbox Code Playgroud)

仅将唯一元素引入 uniqueArray。

SPl*_*ten 0

返回值是测试 i 是否等于找到的元素的索引,因此函数返回值将为 true 或 false。