1、两个对象合并控制台打印结果如下图所示当两个对象中有相同字段是,合并时,后者的key和value会覆盖前者的key和value。控制台打印结果如下es6合并对象控制台打印如下2、两个数组合并打印结果如下图所示:当有相同的值时数组的合并不会覆盖前者的值使用es6扩展运算符合并数组打印结果如下:3、两个数组对象合并把demo1数组对象和demo2数组对象合并成一个一 一对应的数组对象使用es6map()
let aWithOverrides = { ...a, x: 1, y: 2 };
let aWithOverrides = { ...a, ...{ x: 1, y: 2 } };
let x = 1, y = 2, aWithOverrides = { ...a, x, y };
let aWithOverrides = Object.assign({}, a, { x: 1, y: 2 });
需要用到Object.assign()
Object.assign方法用来将源
对象
(source)的所有可枚举属性,复制到目标
对象
(target)。它至少需要两个
对象
作为参数,第一个参数是目标
对象
,后面的参数都是源
对象
。
看不懂不重要 看代码
let data1={ a: 1 };
let data1={ b: 2 };
let data1={ c: 3 };
Object.assign(...
JavaScript
中的 Object.assign() 方法可以用于
合并
对象
,但是不能直接用于
合并
数组
。实际上,当该方法传递的是目标
对象
和源
对象
时,它会将所有源
对象
的属性和方法复制到目标
对象
中。如果多个源
对象
具有相同的属性,则后面的源
对象
的属性值会覆盖前面的源
对象
的属性值。因此,它可以用于实现
对象
的深度复制和
合并
。
但是,如果我们尝试将
数组
作为源
对象
传递给 Object.assign() 方法,则该方法将把
数组
视为单个
对象
,并将其约束为
对象
的键值集合。因此,该方法将无法将
数组
中的值
合并
到目标
对象
中。然而,我们可以使用 spread operator(...) 或 concat() 方法来
合并
两个或多个
数组
,并将结果作为新
数组
返回。在这种情况下,我们可以将
合并
后的
数组
与目标
对象
结合使用,并将其作为新
对象
返回。
CSDN-Ada助手:
vue3.0+barcode生成条形码(setup语法糖写法)
@七叶一枝花:
vue3.0路由跳转传参(setup语法糖写法)
skyblue_afan:
vue3.0路由跳转传参(setup语法糖写法)
天之苍苍,其正色邪?:
js对象合并,数组合并,数组对象合并(学习篇)
在努力学习的小陈: