1.方法一:利用对象属性名的唯一性 去重 数字或者数组去重,效率高
function unique(arr){
var result = {};
for(var i=0;i<arr.length;i++){
console.log("result[arr[i]]",result[arr[i]]);
if(!result[arr[i]]){
result[arr[i]] = true;
}
}
console.log("result",result);
return Object.keys(result);
}
var arr = [1,2,3,2,1,4,5];
console.log(unique(arr));
2. 方法二: 通过新的数组存储,遍历结果的数组是否存在, 适配范围广,效率低
function unique(arr) {
var result = [];
for (var i = 0; i < arr.length; i++) {
if (!result.includes(arr[i])) {
result.push(arr[i]);
}
}
return result;
}
3. 方法三: 利用ES6的Set去重,适配范围广,效率一般,书写简单
function unique(arr) {
return [...new Set(arr)]
}