ES5 实现方法:
- 利用 indexOf 判断新数组中是否存在当前值
function unique(arr){
var aTemp = [];
for(var i = 0 ; i < arr.length; i++){
if(aTemp.indexOf(arr[i]) !== -1){
aTemp.push(arr[i]);
}
}
return aTemp;
}
ES6实现方法
-
利用Set数据结构去重
Array.from 方法可以将Set结构转为数组。Set结构不会添加重复的值。function unique(array) { return Array.from(new Set(array)); }
扩展运算符和 Set结构结合
扩展运算符和Set结构相结合, 就可以去除数组的重复成员。
let arr = [3, 5, 2, 2, 5, 5];
let unique = [...new Set(arr)];// [3, 5, 2]