gpt4 book ai didi

javascript - 使用 Underscore/Lodash 分组和求和

转载 作者:可可西里 更新时间:2023-11-01 02:28:36 25 4
gpt4 key购买 nike

我有这样的 JSON:

[
{
platformId: 1,
payout: 15,
numOfPeople: 4
},
{
platformId: 1,
payout: 12,
numOfPeople: 3

},
{
platformId: 2,
payout: 6,
numOfPeople: 5

},
{
platformId: 2,
payout: 10,
numOfPeople: 1
},

]

我想按 platformId 以及 payoutnumOfPeople 的总和对其进行分组。

即结果我想要这样的 JSON:

[
"1": {
payout: 27,
numOfPeople: 7
},

"2": {
payout: 16,
numOfPeople: 6
}
]

我尝试使用 underscore.js_.groupBy 方法,它分组很好,但是我如何获得对象属性值的 SUM,就像我演示的那样多于?

最佳答案

这是一个 Lodash解决这类问题。它类似于 Underscore,但具有一些更高级的功能。

const data = [{
platformId: 1,
payout: 15,
numOfPeople: 4
},
{
platformId: 1,
payout: 12,
numOfPeople: 3

},
{
platformId: 2,
payout: 6,
numOfPeople: 5

},
{
platformId: 2,
payout: 10,
numOfPeople: 1
},
];

const ans = _(data)
.groupBy('platformId')
.map((platform, id) => ({
platformId: id,
payout: _.sumBy(platform, 'payout'),
numOfPeople: _.sumBy(platform, 'numOfPeople')
}))
.value()

console.log(ans);
<script src="https://cdn.jsdelivr.net/lodash/4.17.4/lodash.min.js"></script>

关于javascript - 使用 Underscore/Lodash 分组和求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25047463/

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