js配列の重量除去の一般的な方法

9507 ワード

  • 新しい配列による重量除去(最も簡単な方法)
  • var arr = [1,1,2,1,3,2,1,1,5,6,8,9,6];
    var arr1 = [];
    
    arr.forEach(item=>{
    	if(arr1.indexOf(item)<0){
    		arr1.push(item)
    	}
    })
    console.log(arr1)
    
  • Es 6新しい方法Set
  • var arr = [1,1,2,1,3,2,1,1,5,6,8,9,6];
    function deduplication (arr) {
        //ES6    ,    ,                  ,    。
        return Array.from(new Set(arr))
    }
    
  • 二層forサイクルを用いてspliceを用いて
  • を除去する
    function deduplication(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);
                    j--;
                }
            }
        }
         return arr;
    }
    
  • は、まずsort()法でソートする、隣接要素が等しいか否かを判断する
  • である.
    function deduplication(arr) {
        arr = arr.sort(function(b,a) {
            return b - a;
        }); 
        
        var arr1=[arr[0]];
        for(var i=1;i<arr.length;i++){
            if(arr[i]!=arr[i-1]){
                arr1.push(arr[i]);
            }
        }
        return arr1;
    }
    

    以上が配列を重くする常用方法で、補充を歓迎します.この大物の文章も理解できます.干物がたくさんあります.