数组去重

2018-03-29  本文已影响0人  Clayten

方法一

        var arr = [1,1,2,3,2,1,5,12,23,56,4,12,2,1,3];
        function moverArrrAEpeat (arr) {
          for ( var i = 0; i < arr.length; i++ ){
              for (var j = i + 1; j<arr.length; j++ ){
                 if(arr[i]===arr[j]){
                    arr.splice(j,1);
                  }
              }
          }
          return arr;
        }
        arr = moverArrrAEpeat(arr);
        console.log(arr);

方法二、使用filter()方法

        var arr = [1,1,2,3,2,1,5,12,23,56,4,12,2,1,3];
        var r = arr.filter(function(element,index,obj){
            //console.log(obj);
            return obj.indexOf(element) === index;
        });
        console.log(r);

方法三、indexof()

        var arr = [1,1,2,3,2,1,5,12,23,56,4,12,2,1,3];
        function moverArrrAEpeat(arr) {
            for(var i = 0; i<arr.length; i++){
                if(arr.indexOf(arr[i]) != i){
                    arr.splice(i,1);
                    i--;
                }
            }
            return arr;
        }
        arr = moverArrrAEpeat(arr);
        console.log(arr);

方法四、空对象

        var obj = {};
        var arr= [1,1,2,3,2,1,5,12,23,56,4,12,2,1,3];
        function moverArrrAEpeat(arr){
            var arr1 = [];
            for (var i in arr){
              if(!obj[arr[i]]){
                 arr1.push(arr[i]);
                 obj[arr[i]] = 1;     
              }
            }
            return arr1;
        }
        console.log(moverArrrAEpeat(arr));

方法五、ES6数组去重

        var arr = [1,1,2,3,2,1,5,12,23,56,4,12,2,1,3];
        function moverArrrAEpeat(arr){
            let arr0 = new Set(arr);
            return Array.from(arr0);
        }
        var arr1 =moverArrrAEpeat(arr);
        console.log(arr1);
上一篇 下一篇

猜你喜欢

热点阅读