繁体   English   中英

将元素从 1 object 部分复制到 Javascript 中的另一个

[英]Partially copy element from 1 object to another in Javascript

我有 2 个对象(object2 具有 object1 的所有键以及一些附加键)

object1 = {a:1, b:2}
object2 = {a:0, b:1, c:2}

我想使用 object1 的值更新 object2 的值。 更新后object2会是这个样子

object2 = {a:1, b:2, c:2}

c的值不变。 有没有办法以紧凑的方式做到这一点,而无需遍历 object1 中的所有键值对

您可以使用Object.assign 但是,它将覆盖早期对象中的先前属性,因此您需要在obj1之前将obj2传递给它。

 const object1 = {a:1, b:2}, object2 = {a:0, b:1, c:2}; const res = Object.assign({}, object2, object1); console.log(res);

如果您可以使用第三方 package,您可以使用lodash中的assign方法:

var _ = require('lodash');

object2 = _.assign(object2, object1);

你可以做一些像我下面的例子,它不会迭代 trought object1 键

 const object1 = {a:1, b:2} const object2 = {a:0, b:1, c:2} for(const prop in object2){ object2[prop] = object1[prop] || object2[prop]; } console.log(object2)

你可以在传播中做到这一点

const object1 = {a:1, b:2}
const object2 = {a:0, b:1, c:2}
console.log({...obj2, ...obj1}) // output {a: 1, b: 2, c: 2}
//if you are using let you can do the following

object2 = {...obj2, ...obj1}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM