数组去重方法总结

时间:2022-12-12 16:39:43
<!DOCTYPE html>
<html>
   <head>
      <meta charset="UTF-8">
      <title></title>
   </head>
   <body>


      <script type="text/javascript"> //1 indexOf() 判断数组中是否含有某个数据 若有返回该数据在数组中的索引,否则返回-1 // var arr=[1,1,1,2,2,3,4,5,4,3,2,1]; // var newarr=[]; // for(var i=0;i<arr.length;i++){ // if(newarr.indexOf(arr[i]) == -1){ // newarr.push(arr[i]) // } // } // console.log(arr,newarr) //2 indexof() 如果当前数组的第i项在当前数组中第一次出现的位置不是i,那么表示第i项是重复的,忽略掉。否则存入结果数组。 // var arr=[1,1,1,2,2,3,4,5,4,3,2,1]; // var newArr = []; // for(var i=0; i<arr.length;i++){ // if(arr.indexOf(arr[i]) == i){ // newArr.push(arr[i]); // } // } // console.log(arr,newArr) //3 排序 先排序 然后将相邻的2个数进行比较 若相同则截取数组 // var arr=[1,1,1,2,2,3,4,5,4,3,2,1]; // var newarr=arr.sort(); // console.log(newarr) // for(var i=0;i<newarr.length;i++){ // if(newarr[i]==newarr[i+1]){ // var b=newarr.splice(i,1) // i--; // } // } // console.log(newarr) // 4 不排序 直接比较数组的前后2个数的大小 // var arr=[1,1,1,2,2,3,4,5,4,3,2,1,1,2]; // for(var i=0;i<arr.length;i++){ // for(var j=i+1;j<arr.length;j++){ // if(arr[i] === arr[j]){  // var b=arr.splice(i,1) // i--; // }  // } // } // console.log(arr) //5 排序,相同的元素就会相邻。再遍历数组,将元素与新数组的最后一个值进行比较,若不同则加入新数组. // var arr=[1,1,1,2,2,3,4,5,4,3,2,1]; // arr.sort(); // var newArr = [arr[0]];  // for(var i=1;i<arr.length; i++){ // if(arr[i] !== newArr[newArr.length-1]){ // newArr.push(arr[i]); // } // } // console.log(arr,newArr) // 6 利用对象属性 给对象增加一个属性 // var arr=[1,1,1,2,2,3,4,5,4,3,2,1]; // var newArr=[]; // var obj={}; // for (var i = 0; i < arr.length; i++) { // if (!obj[arr[i]]) { // newArr.push(arr[i]); // obj[arr[i]]=1; // } // } // console.log(arr,newArr,obj) </script>
   </body>
</html>