gpt4 book ai didi

javascript - 对象的多个总和有效地 d3.js

转载 作者:行者123 更新时间:2023-11-29 10:31:51 24 4
gpt4 key购买 nike

我有一个像这样的对象:

{
[

{ id: "AL01",
list: [
{ speed : 5
value : 10} ,
{ speed : 7
value : 15}
]
},
{ id: "AB01",
list: [
{ speed : 20
value : 1} ,
{ speed : 8
value : 10}
]
}

]

}

我想要这样的结果:

{[ {  id: "AL01", speed: 12, value: 25}, {  id: "AB01", speed: 28, value: 11}]}

我怎样才能有效地得到这个?是否可以只运行一次函数 map 或 forEach?我想知道每个对象只经过一次的东西。

最佳答案

您的数据结构不正确。您必须拥有数据对象中最外层数组的属性。据此可作如下处理;

var data = {groups: [ {id: "AL01", list: [{ speed : 5,  value : 10}, { speed : 7, value : 15}]}, {id: "AB01", list: [{ speed : 20, value : 1 }, { speed : 8, value : 10}]}]},
result = {groups: data.groups.map(g => Object.assign({id: g.id},g.list.reduce((r,c) => ({speed : r.speed + c.speed, value : r.value + c.value}))))};
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 对象的多个总和有效地 d3.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44214996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com