gpt4 book ai didi

javascript - 用下划线将多个属性分组

转载 作者:行者123 更新时间:2023-12-03 03:39:46 25 4
gpt4 key购买 nike

我想按idname对下面的数组进行分组和计数

var arr = [
{
id: 'A1',
name: 'andersson'
},
{
id: 'A1',
name: 'johansson'
},
{
id: 'A1',
name: 'andersson'
},
];

预期输出:

var aggregated = [
{
id: 'A1',
name: 'andersson',
count: 2
},
{
id: 'A1',
name: 'johansson',
count: 1
}
];

这应该是一项基本任务,但我找不到任何方便的方法来使用下划线来完成它。 _.groupBy 函数可能应该以某种方式使用。

我的数据集很大,因此性能很重要。

最佳答案

您可以首先使用 groupBy id 和计数,然后使用 map 对每个值进行计数。

var arr = [{
id: 'A1',
name: 'andersson'
}, {
id: 'A1',
name: 'johansson'
}, {
id: 'A1',
name: 'andersson'
}];

var result = _.chain(arr)
.groupBy(e => e.id + '|' + e.name)
.map(e => (e[0].count = e.length, e[0]))

console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>

关于javascript - 用下划线将多个属性分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45681241/

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