js的对象合并总结


1. 拓展运算符(…)

ES6入门中是这样说的:

对象的扩展运算符(…)用于取出参数对象的所有可遍历属性,拷贝到当前对象之中。

let obj1 = {
    name: '陈伟霆',
    gender: '男',
    hobby: '唱歌'
};
let obj2 = {
    name: '陈伟霆',
    gender: '男',
    hobby: '跳舞',
    nationality: '中国'
};
 
let obj = {...obj1, ...obj2};
console.log(obj);  // { name: '陈伟霆', gender: '男', hobby: '跳舞', nationality: '中国' }

2.Object.assign()

MDN:

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

let obj1 = {
    name: '陈伟霆',
    gender: '男',
    hobby: '唱歌'
};
let obj2 = {
    name: '陈伟霆',
    gender: '男',
    hobby: '跳舞',
    nationality: '中国'
};
 
let obj = Object.assign({}, obj1, obj2);
console.log(obj);  
// { name: '陈伟霆', gender: '男', hobby: '跳舞', nationality: '中国' }

//obj !== obj2 浅拷贝

数组也是对象,你可以对数组使用,但需要注意的是数组的index往往都是一样的,所以合并结果往往只有后一参数。


文章作者: iamfugui
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 iamfugui !
评论
  目录