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]