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
返回的位置不相等,就會被過濾掉。