数组去重的方法
第一种 (利用对象的键值对)
let arr = [1,2,3,4,4,3,2,1,'a','a']
function unique(arr) {
let obj = {}
return arr.filter((item) => {
return obj.hasOwnProperty(item) ? false : (obj[item] = true)
})
}
console.log(unique(arr));
第二种 (利用数组的indexOf方法)
let arr = [1,2,3,4,4,3,2,1,'a','a']
function unique(arr) {
return arr.filter((item, index) => {
return arr.indexOf(item) === index
})
}
console.log(unique(arr));
第三种 (利用set属性)
let arr = [1,2,3,4,4,3,2,1,'a','a']
function unique(arr) {
return [...new Set(arr)]
}
console.log(unique(arr));
第四种 (循环)
let arr = [1,2,3,4,4,3,2,1,'a','a']
function unique(array) {
var res = [];
for (var i = 0, arrayLen = array.length; i < arrayLen; i++) {
for (var j = 0, resLen = res.length; j < resLen; j++ ) {
if (array[i] === res[j]) {
break;
}
}
if (j === resLen) {
res.push(array[i])
}
}
return res;
}
console.log(unique(arr));