JS Object.assign,出现合并不了的正确做法

这段代码演示了如何使用JavaScript的Object.assign方法将两个对象的属性合并到一个新的空对象中。`obj2`包含了`obj.sampleValues[0]`和`this.form.sampleValues[0]`的所有属性,确保在进行属性复制时,第一个参数是一个空对象,以避免意外修改原有对象。

let obj2=Object.assign({},obj.sampleValues[0],this.form.sampleValues[0]);

console.log(obj2);

注意,第一个参数需要空对象

### 使用 JavaScript 中的 Object.assign 方法合并多个对象 `Object.assign` 是 JavaScript 提供的一个方法,用于将一个或多个源对象的属性复制到目标对象中[^1]。如果存在同名属性,则后面的源对象会覆盖前面的源对象属性值[^5]。 以下是具体的使用方式和代码示例: #### 示例 1:基本用法 可以将多个对象合并为一个新的对象,同时保持原始对象不变。 ```javascript let object1 = { a: 1, b: 2 }; let object2 = { b: 3, c: 4 }; let mergedObject = Object.assign({}, object1, object2); console.log(mergedObject); // 输出: { a: 1, b: 3, c: 4 } ``` 在这个例子中,`object1` 和 `object2` 的属性被合并到一个新的空对象 `{}` 中[^3]。 #### 示例 2:覆盖规则 当多个源对象中有相同的属性时,后面的对象会覆盖前面的对象属性。 ```javascript let obj1 = { name: "Tom", age: 23 }; let obj2 = { name: "Jerry", age: 24 }; let result = Object.assign({}, obj1, obj2); console.log(result); // 输出: { name: "Jerry", age: 24 } ``` 这里,`obj2` 的 `name` 和 `age` 属性覆盖了 `obj1` 的对应属性[^4]。 #### 示例 3:合并多个对象 可以同时合并多个对象,并生成一个新的对象。 ```javascript let o1 = { a: 1 }; let o2 = { b: 2 }; let o3 = { c: 3 }; let combined = Object.assign({}, o1, o2, o3); console.log(combined); // 输出: { a: 1, b: 2, c: 3 } ``` 此代码展示了如何通过 `Object.assign` 将三个对象合并为一个新对象[^1]。 #### 注意事项 - 目标对象(第一个参数)会被直接修改,因此通常传入一个空对象 `{}` 作为目标对象以避免影响原始对象。 - 只有目标对象和源对象中的 **可枚举属性** 会被复制。 - 如果源对象中有 `undefined` 或 `null`,这些值不会被复制[^5]。 ### 总结 `Object.assign` 是一种强大的工具,用于合并对象、克隆对象以及为对象添加属性或方法。在实际开发中,可以通过它轻松实现对象的合并与扩展功能[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qaakd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值