gpt4 book ai didi

javascript - 一组对象数组

转载 作者:行者123 更新时间:2023-11-30 11:02:13 25 4
gpt4 key购买 nike

我有这个对象数组

[ { data: 50, note: 1 },
{ data: 0, note: 1 },
{ data: 0, note: 1 },
{ data: 25, note: 1 },
{ data: 0, note: 1 },
{ data: 40, note: 2 },
{ data: 40, note: 2 },
{ data: 20, note: 2 },
{ data: 0, note: 2 },
{ data: 0, note: 2 },
]

我需要得到这个

{data:[
{
name: 1,
data:[50,0,0,25,0]
}
{
name: 2,
data:[40,40,20,0,0]
}
]}

我试过类似的方法,但我没有得到我需要的结果

for(const {note} of data) {
if(!result[note]) result[note] = [];
result[note].push({ data });
}

最佳答案

你可以拿一个Map并按 note 分组。

var array = [{ data: 50, note: 1 }, { data: 0, note: 1 }, { data: 0, note: 1 }, { data: 25, note: 1 }, { data: 0, note: 1 }, { data: 40, note: 2 }, { data: 40, note: 2 }, { data: 20, note: 2 }, { data: 0, note: 2 }, { data: 0, note: 2 }],
data = Array.from(
array.reduce((m, { note, data }) => m.set(note, [...(m.get(note) || []), data]), new Map),
([name, data]) => ({ name, data })
),
result = { data };

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 一组对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57244578/

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