首页 > 解决方案 > 在nodejs中添加新键后如何复制2个对象

问题描述

我有 2 个对象,我必须在添加新密钥后将第二个对象复制到新对象。例如

obj1 = { name: 'a', age:'23'},
obj2 = {city1 : 'x', city2: 'y'},

预期的输出是

{name:'a', age: '23', cities: [ {city1: 'x'}, {city2: 'y'}]}

我试过的是

obj3 = obj1;
obj3.cities = obj2;

但我得到的是

 { name: 'a', age:'23' }

此代码有什么问题以及添加新密钥后如何复制?

标签: javascriptnode.jsobject

解决方案


您可以通过解构obj1然后添加cities到它来创建一个新对象。

obj1 = {
  name: 'a',
  age: '23'
};

obj2 = {
  city1: 'x',
  city2: 'y'
};

obj3 = {
  ...obj1,
  cities: Object.entries(obj2)
    .map(([k, v]) => ({[k]: v}))
};

console.log(obj3);


推荐阅读