js把两个对象合并成一个对象

文章目录

  • js把两个对象合并成一个对象
  • 前言
  • 一、使用Object.assign()解决该问题
    • 1.方法介绍
    • 2.语法
  • 二、示例
    • 1.复制对象
    • 2.合并对象
    • 3.合并具有相同属性的对象

前言

在写前端项目时碰到将两个json对象合并到一起的场景,查阅资料之后准备记录一下以便以后使用!


一、使用Object.assign()解决该问题

1.方法介绍

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

代码如下(示例):

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };const returnedTarget = Object.assign(target, source);console.log(target);
// expected output: Object { a: 1, b: 4, c: 5 }console.log(returnedTarget);
// expected output: Object { a: 1, b: 4, c: 5 }

2.语法

代码如下(示例):

/*** target 目标对象* sources 源对象* 返回值 目标对象
*/
Object.assign(target, ...sources)

1.如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖。后面的源对象的属性将类似地覆盖前面的源对象的属性。
2.Object.assign 方法只会拷贝源对象自身的并且可枚举的属性到目标对象。

二、示例

1.复制对象

const obj = { a: 1 };
const copy = Object.assign({}, obj);
console.log(copy); // { a: 1 }

2.合并对象

const o1 = { a: 1 };
const o2 = { b: 2 };
const o3 = { c: 3 };const obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1);  // { a: 1, b: 2, c: 3 }, 注意目标对象自身也会改变。

3.合并具有相同属性的对象

const o1 = { a: 1, b: 1, c: 1 };
const o2 = { b: 2, c: 2 };
const o3 = { c: 3 };const obj = Object.assign({}, o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }

*这里仅仅列举了部分常见示例,更对示例以及注意事项。请移步如下网址: 更多示例

js合并两个json对象相关推荐

  1. es6如何修改json数组里的某个值_如何通过id使用纯Javascript(ES6)合并两个json对象值...

    我有两个Javascript对象数组,并且想要将具有相同"ObjID"的两个Javascript对象的属性合并为一个Javascript对象.如何通过id使用纯Javascript ...

  2. js比较两个JSON对象,返回变化值

    废话不多说,直接上干货. let utils = {/*** 比较两个json(新json与老json)的不同,并返回 不同时的旧值(old_val)和新值(new_val)* @param {*} ...

  3. 【JQuery】使用JQuery 合并两个 json 对象

    一,保存object1和2合并后产生新对象,若2中有与1相同的key,默认2将会覆盖1的值 1 var object = $.extend({}, object1, object2); 二,将2的值合 ...

  4. js合并两个数组对象并且去掉重复的内容(map结合find)

    demo如下: const arr1 = [{id:'1',name:'小红'},{id:'2',name:'小绿'},{id:'3',name:'小黄'}];const arr2 = [{id:'1 ...

  5. 【一语点醒梦中人】如何优雅地合并两个JSON对象 → Object.assign(a, b)和Object.assign({}, a, b)的区别

    var a = {a: 1}; var b = {b: 2}; var c = Object.assign(a, b);/* a对象也会改变,b不变,返回被被修改对象 */ var d = Objec ...

  6. js深度合并两个数组对象

    js合并两个数组对象, 如果a中含有b,则b的值覆盖a的值 如果a中不含有b 则b的值新增到a MergeRecursive(obj1, obj2) {// 合并两个数组for (var p in o ...

  7. JS:两个json数组合并、去重,以及删除某一项元素

    两个json数组合并去重,以及删除某一项元素 let ha = [{id:'H',name:'3'},{id:'A',name:'6'},{id:'B',name:'14'},{id:'C',name ...

  8. js合并两个数组中同一类型的type对象

    // js合并两个数组中同一类型的type对象 // 接口返回的数据格式 [{dayAt: "2023-01-11"lastAt: "2023-01-11 14:36:3 ...

  9. JS把两个数组对象合并过程解析

    JS把两个数组对象合并过程解析 var obj1 = [{"id": 1,"name" : "Lucy"},{"id": ...

最新文章

  1. cdn对加速效果明显吗
  2. 烟台大学计算机专业最低分,烟台大学计算机科学与技术专业2016年在河南理科高考录取最低分数线...
  3. bzoj 4515: [Sdoi2016]游戏
  4. Git同时使用不同平台代码仓库
  5. Linux编译安装nginx1.4.7版本
  6. android:contentInsetStart android:contentInsetEnd contentInsetStart paddingstart paddingEnd
  7. c语言实现数据结构中的链式表
  8. 基于pywifi库的暴力破解wifi方法
  9. 作为面试官准备提问的问题及其答案
  10. 请编程序将“China”译成密码,密码规律是:用原来的字母后面第四个字母代替原来的字母。
  11. iOS 分析MVC、MVP、MVVM、VIPER
  12. 夕阳落山图(js 夕阳下山)
  13. 裁判文书网数据采集爬虫记录2023-03
  14. 行长和副行长笑而不语
  15. 苹果系统java小游戏_Mac自带小游戏怎么玩?
  16. 手写Verilog用FPGA实现实时图像卷积,用Block Ram缓存图像
  17. php手册 时间戳,PHP时间戳函数总结一览
  18. 怎么注册不需要实名认证的.com域名?
  19. QT :-1: error: LNK1168: 无法打开 xxx.exe 进行写入
  20. w10系统服务器属性在哪,电脑W10查看电脑配置属性 - 卡饭网

热门文章

  1. 梦幻手游服务器总维护,《梦幻西游》手游4月22日维护更新内容解读
  2. 小学生学习C++应该具备哪些基础?
  3. python2.7装饰器使用_在python里如何使用装饰器
  4. spring的冷门知识
  5. 视频教程-AI商业插画入门基础教学-Illustrator
  6. 红外夜视摄像头 小方智能摄像头使用手记 2
  7. 【C++】sort排序 strcmp和strcasecmp函数用法
  8. windows安装Anaconda3
  9. 学计算机荣耀m,荣耀的M 能否将手机带到人工智能时代
  10. 金蝶EAS 根据单据ID 获取bosType,然后获取相关单据的一些信息