gpt4 book ai didi

Javascript:根据值对数组中的相似项目进行分组

转载 作者:行者123 更新时间:2023-12-01 01:29:57 25 4
gpt4 key购买 nike

我有一个像这样的对象数组..

[
{
_id: 123
},
{
_id: 123
},
{
_id: 321
}
]

我想按 _id 对相似的项目进行分组,并计算每个唯一 _id 有多少个项目...

[
{
_id: 123
qty: 2
},
{
_id: 321
qty: 1
}
]

使用 javascript 执行此操作的最佳方法是什么?

最佳答案

您可以使用 Array.prototype.reduce() 在 O(n) 时间内完成此操作和一个Map作为累加器:

const array = [{'_id':123},{'_id':123},{'_id':321}]
const groups = [...array.reduce(
(map, { _id }) => map.set(_id, (map.get(_id) || 0) + 1),
new Map()
)].map(
([_id, qty]) => ({ _id, qty })
)

console.log(groups)

关于Javascript:根据值对数组中的相似项目进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53384156/

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