目录

 

一、对象合并

1、Object.assign(target, …sources)

二、数组合并

1、for循环

2、concat()

3、apply

4、es6扩展运算符[…arr, …arr2]

5、push(…arr)

 


一、对象合并

1、Object.assign(target, ...sources)

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象分配到目标对象,它将返回目标对象

1、源对象属性替换目标对象属性

2、同名属性,后面替换前面属性

3、基本数据类型字符串生成对象

    let obj = { a: 1, b: 2, c: 3 }
    let obj2 = { b: 5, d: 6 }
    let res = Object.assign(obj, obj2)
    console.log(res);//{a: 1, b: 5, c: 3, d: 6}

Jetbrains全家桶1年46,售后保障稳定

二、数组合并

1、for循环

会改变原数组,如果不想改变原数组需要生成一个新数组

    let a = [1, 2, 3];
    let b = [4, 5];

    //1 for循环
    for (var i in b) {
        a.push(b[i]);
    }
    console.log(a); //[1,2,3,4,5]

2、concat()

concat() 方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本

    let a = [1, 2, 3];
    let b = [4, 5];
    let c = a.concat(b);
    console.log(c);//[1,2,3,4,5]
    console.log(a);//[1,2,3] 原数组不变

3、apply

    let a = [1, 2, 3];
    let b = [4, 5];
    let c = a.push.apply(a, b);
    console.log(a); //[1,2,3,4,5]

4、es6扩展运算符[…arr, …arr2]

扩展运算符(…)也可以将某些数据结构转为数组

    let a = [1, 2, 3];
    let b = [4, 5];
    let arr1 = [...a, ...b]
    console.log(arr1)

5、push(…arr)

    let a = [1, 2, 3];
    let b = [4, 5];
    let c = a.push(...b)
    console.log(a)