javaScript 合并对象的多种方式:
1、方式一:Object.assign(obj1, obj2, …)
参数1:obj1 是目标对象
参数2:obj2 是源对象注意:对象与对象之间,同名属性,会被后面对象的属性值所覆盖
const obj1 = {
a: 1,
b: 2,
}
const obj2 = {
b: 3,
c: 4,
}
const result = Object.assign(obj1, obj2)
console.log(result) // {a: 1, b: 3, c: 4}
2、方式二:es6 新增语法,扩展运算符 … 【三点】
{…obj1, …obj2}
注意:对象与对象之间,同名属性,会被后面对象的属性值所覆盖
const obj1 = {
a: 1,
b: 2,
}
const obj2 = {
b: 3,
c: 4,
}
const result = {...obj1, ...obj2} // 返回一个新的对象。
console.log(result) // {a: 1, b: 3, c: 4}
// 顺带一提, 数组之间的合并,也可以使用 扩展运算符 .
// 如: [...arr1, ...arr2]
知识扩展:
扩展运算符 … 【三点】,也可以用于 数组与数组之间的合并。
不同的是:
数组之间 只会合并,就算是相同的值,也不会覆盖。(这是不同于对象的地方。)
let arr1 = [1,2,4]
let arr2 = [4,5,6]
let arr3 = [...arr1, ...arr2]
console.log(arr3) // [1, 2, 4, 4, 5, 6]