1、数组双循环,通过splice来对数组进行重排
const arr = [1,2,3,2,4,4];
for(let i = 0 ; i < arr.length ; i++){
for(let j = i+1 ; j < arr.length ; j++){
if(arr[i] === arr[j]){
arr.splice(j,1)
i--;
j--
}
}
}
2、利用indexof
let arr = [1,2,3,2,4,4]
arr = arr.filter((item,index,arr)=>arr.indexOf(v,0) == k)
3、利用includes 和reduce
let arr = [1,2,3,2,4,4]
arr = arr.reduce((newArr,item)=>{
console.log(newArr)
// []
// [1]
// [1,2]
// [1,2,3]
// [1,2,3]
// [1,2,3,4]
// [1,2,3,4]
return newArr.includes(item) ? newArr : [...newArr,item]
},[])
4、利用ES6新增set数据结构
let arr = [1,2,3,2,4,4]
arr = new Set(arr)
5、空数组push + indexOf方法
let arr = [1,2,3,2,4,4]
var arr1 = []
for (var i = 0; i < arr.length; i++) {
if (arr1.indexOf(arr[i]) === -1) {
arr1.push(arr[i])
}
}
暂时就知道这么多,欢迎补充~