数组的合并

Posted maxiag

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组的合并相关的知识,希望对你有一定的参考价值。

concat() 方法是用于连接两个或者多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本
语法:
arrayObject.concat(arrayX,arrayX,.........arrayX)
arrayX: 必需,该参数可以是具体的值,一可以是数组对象,可以是多个
返回值: 返回一个新数组, 该数组时通过把所有arrayxX 参数添加到 arrayObject中生成的, 如果要进行 concat()操作的参数是数组, 那么添加的是数组的元素,而不是数组
     var a = [1, 2, 3, 4, 5]
    var b = [‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]
    var c = a.concat(b) 
结果: (10) [1, 2, 3, 4, 5, "a", "b", "c", "d", "e"]

 

合并俩个数组并去重
let arr1 = [1, 1, 2, 3, 6, 9, 5, 5, 4]
    let arr2 = [1, 2, 5, 4, 9, 7, 7, 8, 8]
    function uniqueArr(arr1,arr2) 
        //合并两个数组
        arr1.push(...arr2)//或者arr1 = [...arr1,...arr2]
        //去重
        let arr3 = Array.from(new Set(arr1))//let arr3 = [...new Set(arr1)]
        console.log(arr3) 
    

   uniqueArr(arr1,arr2)

 

ES5实现
var arr1 = [1, 1, 2, 3, 6, 9, 5, 5, 4]
    var arr2 = [1, 2, 5, 4, 9, 7, 7, 8, 8]
    function uniqueArr(arr1, arr2)
        var arr3 = arr1.concat(arr2)
        var arr4 = []
        for(var i=0,len=arr3.length; i<len; i++) 
            if(arr4.indexOf(arr3[i]) === -1) 
                arr4.push(arr3[i])
            
        
        console.log(arr4)
     
    uniqueArr(arr1, arr2)

new Set()接收一个数组, 并且数组中的元素是唯一的, Array.from()能把伪数组转化为真数组

 
 
 
8

以上是关于数组的合并的主要内容,如果未能解决你的问题,请参考以下文章

Python进行数组合并的方法

java数组的合并问题

Matlab两个一维数组合并为一个数组?

多个对象的连接合并多个数组的连接合并

C语言合并两个数组

合并或合并索引不相等的两个或三个(多于三个)数组