首页 > 解决方案 > 如何将嵌套对象插入另一个对象

问题描述

伙计们

我正在尝试将“价格键/值”插入到下面的 newData 中。

我可以用数组 map() 和 filter() 做到这一点,但它看起来有点难看。

有没有更优雅的方式?

先感谢您!

  public data = {
    usa: {stats: { city: 'chicago'}, price: 35},
    japan: {stats: { city: 'tokyo'}, price: 38},
    korea: {stats: { city: 'seoul'}, price: 34},
  }

  public newData = {
    usa: {stats: { city: 'chicago', price: 35}, price: 35},
    japan: {stats: { city: 'tokyo', price: 38}, price: 38},
    korea: {stats: { city: 'seoul', price: 34}, price: 34},
  }

标签: javascript

解决方案


for...in您可以使用循环修改对象。

这是您的示例中的内容:

let newData = JSON.parse(JSON.stringify(data)) // Creating a clone of the object

for (let key in newData){ 
  newData[key].stats.price = newData[key].price 
}

完整代码:

let data = {
  usa: {stats: { city: 'chicago'}, price: 35},
  japan: {stats: { city: 'tokyo'}, price: 38},
  korea: {stats: { city: 'seoul'}, price: 34},
}

let newData = JSON.parse(JSON.stringify(data))

for (let key in newData){
  newData[key].stats.price = newData[key].price
}

console.log(newData)


推荐阅读