我的对象看起来像这样:

我想将包含数组的键值作为值添加到对象中,以实现如下所示:
{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"}我尝试遍历每个对象,并像这样将值添加到结尾处,但我想知道是否可以在不遍历每个对象的情况下做到这一点(最后我有五个for循环):
for (let item of this.o3) {
item.value = 'o3';
}
for (let item of this.pm10) {
item.value = 'pm10';
} 发布于 2020-12-14 04:12:08
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)
https://stackoverflow.com/questions/65279829
复制相似问题