let arr =[1,2,3,4,4,'hello',4,5,5,6,8,9,'hello']letunique=(arr)=>{// 前面一项for(i=0;i<arr.length;i++){// 后面一项for(j=i+1;j<arr.length;j++){if(arr[i]===arr[j]){
arr.splice(j,1)//删除重复元素
j--;//修正下标,当元素删除后,剩余元素下标依次减一}}}return arr;}unique(arr);
console.log(arr);
2.利用indexOf实现数组去重
let arr =[1,2,3,4,4,'hello',4,5,5,6,8,9,'hello']letunique=(arr)=>{let newArr =[];for(i=0;i<arr.length;i++){if(newArr.indexOf(arr[i])===-1){
newArr.push(arr[i])}}return newArr;}
console.log(unique(arr));
3.利用includes实现数组去重
let arr =[1,2,3,4,4,'hello',4,5,5,6,8,9,'hello']letunique=(arr)=>{let newArr =[];for(i=0;i<arr.length;i++){if(!newArr.includes(arr[i])){
newArr.push(arr[i])}}return newArr
}
console.log(unique(arr));
4.使用filter实现数组去重
let arr =[1,2,3,4,4,'hello',4,5,5,6,8,9,'hello']letunique=(arr)=>{let result = arr.filter((item,index)=>{return arr.indexOf(item)===index
})return result
}
console.log(unique(arr));
5.利用set实现数组去重
let arr =[1,2,3,4,4,'hello',4,5,5,6,8,9,'hello']var set =newSet(arr);// 将set转换为数组let[...a]=set
console.log(a);