javascript - 如何将嵌套对象插入另一个对象
问题描述
伙计们
我正在尝试将“价格键/值”插入到下面的 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},
}
解决方案
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)
推荐阅读
- heroku - heroku h10 崩溃 - 数据库连接错误
- powershell - 如果语句在脚本之外有效,但在 Powershell 内部无效
- docker - 启动 docker 时显示崩溃报告
- java - 为什么在android中对视图应用矩阵变换时,不同设备上的矩阵变换不同?
- yugabyte-db - 通过脚本文件创建 YB 数据库和模式
- powershell - 如何使用 Invoke-webrequest 登录不和谐帐户?
- javascript - 反应谷歌地图添加标记与用户位置
- amazon-web-services - 遇到不支持的属性版本
- jquery - 将自定义类添加到锚点的 Jquery Datepicker 会立即被删除
- linux - 在 Linux 上使用 OpenXR 的全息远程远程应用程序