filter()
巧用 filter 去除数组中相同元素
var arr=['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
arr.filter((element,index,self)=>self.indexOf(element)===index); // ["apple", "strawberry", "banana", "pear", "orange"]
filter()
接收的回调函数可以有多个参数。通常我们仅使用第一个参数,表示数组的某个元素。回调函数还可接收另外两个参数,表示元素的位置和数组本身。
indexOf
总是返回第一个元素的位置,后续的重复元素位置与indexOf
返回的位置不相等,就会被过滤掉。