我遇到了障碍,无法弄清楚如何获取字段的计数。我知道 _.countBy 和 _.size 可通过 Lodash 获得,但由于某种原因无法得出正确的值。 subgroup.items 数组包含格式如下的值:
{
store name: 'A',
sku title: '12345'
},
{
store name: 'A',
sku title: 09865
},
{
store name: 'A',
sku title: 63542
}
我的代码块是这样的:
subGroup.items = _.chain(subGroup.items)
.groupBy('store name')
.map(function(v, i) {
return {
store: i,
sku: _.reduce(
v,
function(res, val) {
return res + val['sku title'];
},
0
),
};
})
.value();
我如何返回值,以便显示每个商店有多少 sku 标题...
store name: 'A',
sku title: '3'
最佳答案
如果你想要的只是一个计数,你应该能够使用 v.length
而不是使用 _.reduce(v,...)
var subGroup = {};
subGroup.items = [{
"store name": 'A',
"sku title": '12345'
},
{
"store name": 'A',
"sku title": 09865
},
{
"store name": 'A',
"sku title": 63542
}];
subGroup.items = _.chain(subGroup.items)
.groupBy('store name')
.map(function(v, i) {
return {
store: i,
sku: v.length
};
})
.value();
console.log(subGroup.items);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>
关于javascript - 使用 Lodash 进行分组和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59990767/