数组去重各种方法实现
function unique1(arr) {
let res = arr.filter(function (item, index, array) {
return array.indexOf(item) === index;
})
return res;
}
function unique2(arr) {
let res = [...new Set(arr)];
return res;
}
function unique3(arr) {
arr.sort((a, b) => a - b);
for (let i = 0; i < arr.length - 1; i++) {
if (arr[i] === arr[i + 1]) {
arr[i + 1] = null;
}
}
return arr.filter(ele => ele != null);
}
function unique4(arr) {
arr.sort((a, b) => a - b);
for (let i = 0; i < arr.length - 1; i++) {
if (arr[i] == arr[i + 1]) {
arr.splice(i, 1);
i--;
}
}
return arr;
}
function unique5(arr) {
if (!Array.isArray(arr)) {
console.log('type error!')
return
}
return Array.from(new Set(arr));
}
function unique6(arr) {
if (!Array.isArray(arr)) {
console.log('type error!')
return
}
let array = [];
let obj = {};
for (let i = 0; i < arr.length; i++) {
if(!obj[arr[i]]){
array.push(arr[i]);
obj[arr[i]]=1;
}
}
return array;
}