博主:DongJiang
码龄:7年
等级:LV.22级
内容:316
今日访问:2312
访问总量:5936
博客简介:学习与分享
博客创建时间:2018-04-12
博客主页 立即前往
赞助位
成为赞助商

javascript合并对象的几种方法

来源: 2024-05-19 17:41:52 播报

1、使用Object.assign()方法:

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

const obj1 = { a: 1, b: 2 };
const obj2 = { b: 3, c: 4 };
const mergedObj = Object.assign({}, obj1, obj2);
// 输出:{ a: 1, b: 3, c: 4 }

2、使用展开运算符...(ES6语法):

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

const obj1 = { a: 1, b: 2 };
const obj2 = { ...obj1, b: 3, c: 4 };
// 输出:{ a: 1, b: 3, c: 4 }

3、使用for...in循环(递归赋值):

const obj1 = { a: 1, b: 2 };
const obj2 = { b: 3, c: 4 };
const mergedObj = { ...obj1 };
for (let key in obj2) {
  if (obj2.hasOwnProperty(key)) {
    mergedObj[key] = obj2[key];
  }
}
// 输出:{ a: 1, b: 3, c: 4 }

4、使用lodash的merge方法(如果已经在项目中使用了lodash):

const obj1 = { a: 1, b: 2 };
const obj2 = { b: 3, c: 4 };
const mergedObj = _.merge({}, obj1, obj2);
// 输出:{ a: 1, b: 3, c: 4 }

5、jquery中的extend()

jQuery.extend() 函数用于将一个或多个对象的内容合并到目标对象。

$.extend(obj1, obj2)  // 浅拷贝
$.extend(true, obj1, obj2)  // 深拷贝
原文出处:
版权声明:本文来源地址若非本站均为转载,若侵害到您的权利,请及时联系我们,我们会在第一时间进行处理。