数组的合并

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
原文地址:https://www.cnblogs.com/maxiag/p/11169007.html