合并对象的几种方法

简介: 合并对象的几种方法

运算扩展符

let obj1 = {
    a:'111'}
let obj2 = {
    b : '222'}
let newObj = {
   ...obj1,...obj2}
console.log(newObj === obj1)  // false
console.log(newObj === obj2)  // false
//

Object.assign

let obj1 = {
    a:'111'}
let obj2 = {
    b : '222',a:'foo'}
let newObj = Object.assign(obj1,obj2)
console.log(newObj === obj1) // true
console.log(newObj === obj2) // false
// 后面的对象属性,会覆盖前面的对象属性

_.merge(object, [sources]) -----------工具库lodash

https://www.lodashjs.com/docs/lodash.merge#_mergeobject-sources

var object = {
   
  'a': [{
    'b': 2 }, {
    'd': 4 }]
};

var other = {
   
  'a': [{
    'c': 3 }, {
    'e': 5 }]
};

_.merge(object, other);
// => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
相关文章
|
6月前
new 一个对象的过程中发生了什么
new 一个对象的过程中发生了什么
|
JavaScript 前端开发
如何把一个对象变成可迭代对象?
如何把一个对象变成可迭代对象?
|
7月前
|
前端开发 JavaScript
ES6中 对象合并
ES6中 对象合并
44 0
|
前端开发 JavaScript
ES6 对象合并
ES6 对象合并
190 0
六个方法两个拷贝带你透彻对象合并问题
实际场景下,我们经常需要进行对象合并的操作,而有时候原对象的改变会改变合并后的对象,这是一个非常严重的问题,涉及到了合并对象中的深浅拷贝,递归遍历,让人发蒙。
161 1
|
数据处理
两个接口数据合并
数据处理
240 0
使用「单向链表 & 标记删除」维护继承顺序
使用「单向链表 & 标记删除」维护继承顺序
|
存储 Java 编译器
JVM14_Class文件结构细节、魔数、Class文件版本、常量池、访问标识(或标志)、类索引|父类索引|接口索引集合、字段|方法|属性表集合(二)
③. 如何确保高版本的JVM可执行低版本的class文件? ④. 常量池(class文件的基石) ①. 什么是常量池? ②. 常量池计数器 ③. 常量池表
133 0
JVM14_Class文件结构细节、魔数、Class文件版本、常量池、访问标识(或标志)、类索引|父类索引|接口索引集合、字段|方法|属性表集合(二)

热门文章

最新文章