数组方法filter去重
let arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
arr = arr.filter((item, index) => {
return arr.indexOf(item) === index;
})
console.log(arr);//['apple', 'strawberry', 'banana', 'pear', 'orange']
indexOf 方法
function unique(arr){
let newArr = [];
for(let i = 0; i < arr.length; i++){
if(newArr.indexOf(arr[i]) === -1)
newArr.push(arr[i]);
};
return newArr;
};
let arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
let newArr = unique(arr);
console.log(newArr);//['apple', 'strawberry', 'banana', 'pear', 'orange']
ES6的set 方法
Set它类似于数组,特点是其成员的值都是唯一的
function unique(arr){
return Array.from(new Set(arr));
}
let arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
let newArr = unique(arr);
console.log(newArr);//['apple', 'strawberry', 'banana', 'pear', 'orange']