繁体   English   中英

向现有的 object 数组插入新的键值?

[英]Insert a new key value to the existing object array?

我的 object 看起来像这样:

目的

我想将包含 arrays 的键值添加为 object 中的值,以实现如下效果:

{avg: 16, day: "2020-12-11", max: 25, min: 8,value:"o3"}
{avg: 18, day: "2020-12-12", max: 21, min: 15,value:"o3"}
{avg: 10, day: "2020-12-13", max: 16, min: 6,value:"o3"}
{avg: 16, day: "2020-12-11", max: 19, min: 12, value: "pm10"}
{avg: 11, day: "2020-12-12", max: 17, min: 6, value: "pm10"}
{avg: 20, day: "2020-12-13", max: 26, min: 10, poluant: "pm10"}

我试图遍历每个 object 并像这样在末尾添加值并且可以工作,但我想知道是否可以在不遍历每个对象的情况下执行此操作(最后我有五个 for 循环):

for (let item of this.o3) {
    item.value = 'o3';
}
    
for (let item of this.pm10) {
    item.value = 'pm10';
}  

Jou 可以通过在循环中使用循环来做到这一点

 var daily = { o3: [{avg: 16, day: "2020-12-11", max: 25, min: 8}, {avg: 18, day: "2020-12-12", max: 21, min: 15}, {avg: 10, day: "2020-12-13", max: 16, min: 6}, {avg: 16, day: "2020-12-11", max: 19, min: 12}, {avg: 11, day: "2020-12-12", max: 17, min: 6}, {avg: 20, day: "2020-12-13", max: 26, min: 10} ], pm10: [{avg: 16, day: "2020-12-11", max: 25, min: 8}, {avg: 18, day: "2020-12-12", max: 21, min: 15}, {avg: 10, day: "2020-12-13", max: 16, min: 6}, {avg: 16, day: "2020-12-11", max: 19, min: 12}, {avg: 11, day: "2020-12-12", max: 17, min: 6}, {avg: 20, day: "2020-12-13", max: 26, min: 10 } ]}; for(item in daily){ if(item == "o3"){ daily[item] = daily[item].map(x=> x = {...x, value:"o3"} ) }else if("pm10"){ daily[item] = daily[item].map(x=> x = {...x, value:"pm10"} ) } } console.log(daily)

暂无
暂无

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

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