数组去重方法总结

<!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>

猜你喜欢

转载自blog.csdn.net/qq_39517820/article/details/80475604
今日推荐