js 数组去重
1:使用indexOf()去重
原理:数组.indexOf(item) 返回的是item在这个数组中第一次出现位置的索引值
例子:[1,1,2,2,3],当第二个1出现的时候返回的索引值是0
1 function unique(arr){ 2 for(var i = 0;i<arr.length;i++){ 3 if(arr.indexOf(arr[i]) != i){ 4 console.log(arr,111) 5 arr.splice(i,1)//第一个参数是要删除的数组起始位置的索引值,第二个是要删除的个数。 6 } 7 } 8 return arr 9 } 10 let arr = [1,1,2,3,3,4] 11 console.log(unqit(arr),222)
2:使用includes()去重
原理:创建一个新数组,每次循环检测,如果新数组里面不包含当前值,就把当前值添加进新数组里面
1 function unqit(arr){ 2 var newArr = [] 3 for(var i = 0;i<arr.length;i++){ 4 if(!newArr.includes(arr[i])){ 5 newArr.push(arr[i]) 6 } 7 } 8 return newArr 9 } 10 let arr = [1,1,2,3,3,4] 11 console.log(unqit(arr),222)
3:使用set()去重
1 let arr = [1,1,2,2,3,4] 2 3 let newArr = new Set(arr) //得到一个类数组 4 5 //Set(4) {1,2,3,4} 6 7 let uniqueArr = Array.from(newArr) 8 9 console.log(uniqueArr )//[1,2,3,4]

浙公网安备 33010602011771号