常用数组去重方法
1、利用indexOf去重
function unique(arr) {
let result = []
for(let index = 0; index < arr.length; index++) {
if(result.indexOf(arr[index]) === -1){
result.push(arr[index])
}
}
return result
}
let arr = [1, 2, 2, 3, 3, 4, 'a', 'a']
console.log(unique(arr))
2、利用splice去重
function unique(array){
for (let index = 0; index < array.length; index++) {
for (let i = index+1; i < array.length; i++) {
if (array[index] === array[i]) {
array.splice(i, 1)
i--
}
}
}
return array
}
let arr = [1, 2, 2, 3, 3, 4, 'a', 'a'];
console.log(unique(arr))
3、利用indexOf配合filter去重
function unique(array){
return array.filter((el, index) => array.indexOf(el) == index)
}
let arr = [1, 2, 2, 3, 3, 4, 'a', 'a'];
console.log(unique(arr))
4、利用ES6 Set去重
function unique(array){
return Array.from(new Set(array))
}
let arr = [1, 2, 2, 3, 3, 4, 'a', 'a'];
console.log(unique(arr))
5、利用includes去重
function unique(array){
let result = [];
for (let index = 0; index < array.length; index++) {
if (!result.includes(array[index])) {
result.push(array[index])
}
}
return result
}
let arr = [1, 2, 2, 3, 3, 4, 'a', 'a']
console.log(unique(arr))