方法一:
新建一个数组,用indexOf()判断新数组里面是否有当前内容,没有的话添加到新数组中
var arr=[2,2,3,4,4,5]; var newArr=[]; for(var i=0;i<arr.length;i++){ if(newArr.indexOf(arr[i])==-1){ newArr.push(arr[i]) } } console.log(newArr);//(4) [2, 3, 4, 5]
方法二:
for循环俩次之后进行判断它们的值是否相等,相等进行splice删除
var arr3=[2,4,4,5,6]; for(var i=0;i<arr3.length;i++){ for(var j=i+1;j<arr3.length;j++){ if(arr3[i]==arr3[j]){ arr3.splice(i,1); i--; } } } console.log(arr3);//(4) [2, 4, 5, 6]
方法三:
和第二种类似,for循环1次,然后判断它们的值是否相等,相等进行splice删除
var arr2=[4,4,5,6,6,2]; for(var i=0;i<arr2.length;i++){ if(arr2[i]==arr2[i+1]){ arr2.splice(i,1); i-- } } console.log(arr2);//(4) [4, 5, 6, 2]
ES6数组去重的方法
1. Array.from(new Set(arr)) 2. […new Set(arr)]