js數組的一些經常使用方法

一、數組取差es6

//es6
    arryMinus (arry1,arry2){
        let a = new Set(arry1);
        let b = new Set(arry2);
        let difference = new Set([...a].filter(x => !b.has(x)));
        return Array.from(difference);
    }
    //循環
    arryMinus (arry1,arry2){
        var arr3 = new Array();
        for(var i=0; i < arry1.length; i++){
            var flag = true;
           for(var j=0; j < arry2.length; j++){
                 if(arry1[i] == arry2[j]) {
                   flag = false;
                 }
        
             }
           if(flag){
                 arr3.push(arry1[i]);
           }
       }
       return arr3;

       
    }

二、數組取交集json

//es6
    arryIntersect (arr1,arr2){
        // 利用set方法取交集
        let a = new Set(arr1);
        let b = new Set(arr2);

        let intersect = new Set([...a].filter(x => b.has(x)));
        return Array.from(intersect);
     }
    
    arryIntersect (arr1,arr2){
     //循環判斷數組a裏的元素在b裏面有沒有,有的話就放入新創建的數組中
        var ai=0, bi=0;
        var result = new Array();
        while ( ai < a.length && bi < b.length )
        {
            if      ( a[ai] < b[bi] ) { ai++; }
            else if ( a[ai] > b[bi] ) { bi++; }
            else /* they're equal */
            {
                result.push ( a[ai] );
                ai++;
                bi++;
            }
        }
        return result;
    }

三、數組去重數組

//es6
    arryUnique (array){
        // 去除數組的重複成員
        return [...new Set(array)]
    }
      arryUnique (array){
        var res = [];
        var json = {};
        for(var i = 0; i < this.length; i++){
            if(!json[this[i]]){
                res.push(this[i]);
                json[this[i]] = 1;
            }
        }
        return res;
    }

二維數組轉一維數組app

// 二維數組轉爲一維數組
    twoArrToOneArr(arr){
        return [].concat.apply([],arr);
    }
相關文章
相關標籤/搜索