JavaScript 數組合並去重實現


一、數組合並

方法一、for循環實現數組合並

代碼如下:

        let arr1 = ['a','b','c']
        let arr2 = [1,2,3]
    
        for (let i in arr2) {
            arr1.push(arr2[i])
        }
        console.log("arr1:",arr1)
        console.log("arr2:",arr2)

結果如下:

 

方法二、arr1.push.apply(arr1,arr2)實現數組合並(比方法一好)

代碼如下:

        let arr1 = ['a','b','c']
        let arr2 = [1,2,3]

        arr1.push.apply(arr1,arr2)
    
        console.log("arr1:",arr1)
        console.log("arr2:",arr2)

結果如下:

 

 方法三、concat方法合並倆數組生成新的數組

代碼如下:

        let arr1 = ['a','b','c']
        let arr2 = [1,2,3]

        arr1 = arr1.concat(arr2)
        
        console.log("concat方法")
        console.log("arr1:",arr1)
        console.log("arr2:",arr2)

結果如下:

 

 方法四、ES6語法

代碼如下:

        let arr1 = ['a','b','c']
        let arr2 = [1,2,3]

        arr1 = [...arr1, ...arr2]

        console.log("ES6語法")
        console.log("arr1:",arr1)
        console.log("arr2:",arr2)

 結果如下:

 方法5、ES6語法+push方法

代碼如下:

        let arr1 = ['a','b','c']
        let arr2 = [1,2,3]

        arr1.push(...arr2)

        console.log("ES6語法+push方法")
        console.log("arr1:",arr1)
        console.log("arr2:",arr2)

結果如下:

 

 二、數組去重

set方法去重

代碼如下:

        var arr = [1, 1, 2, 2, 2, 3, 3, 3]

        let res = Array.from(new Set(arr))
        
        console.log(res)

結果如下:

 參考文章:https://www.cnblogs.com/gaosirs/p/10677221.html

 數組中是對象的去重方法:https://www.cnblogs.com/le220/p/9130656.html

代碼記錄:數組中存放為對象,根據對象中"dz"與“mzydmc”屬性進行去重

        let res = [];
        let obj = {};
        
        for (let i = 0; i < arr.length; i++) {
          let dz = arr[i].dz
          let mzydmc = arr[i].mzydmc
          if (!obj[mzydmc]) {
            if (!obj[dz]){
              res.push(arr[i]);
              obj[dz] = true
            }
            obj[mzydmc] = true
          }else {
            console.log(arr[i])
          }
        }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM