本文介绍了groupBy 与 Lodash 模块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用 lodash 模块进行了如下分组:
I have grouped using the lodash module as below:
export class DtoTransactionCategory {
categoryName: String;
totalPrice: number;
}
分组方式
import { groupBy} from 'lodash';
let result = groupBy(transactionCategoryList, (c: DtoTransactionCategory) => {
return c.categoryName
});
结果:
所以现在我需要像这样得到上面的数组(即totalPrice
是group
的sum
):
So now I need to get the above array like this (i.e. totalPrice
is the sum
of the group
):
let myNewArry = [{categoryName:"cat1",totalPrice: 9400},
{categoryName:"cat2",totalPrice: 600}]
你能告诉我如何实现最后一步吗?我在这里使用 Lodash 模块
.
Can you tell me how to achieve last step? I'm using Lodash modules
here.
推荐答案
let result = {
cat1: [{totalPrice: 2}, {totalPrice: 3}],
cat2: [{totalPrice: 2}, {totalPrice: 5}]
}
const totals = _.map(result, (val, key) => ({categoryName: key, totalPrice: _.sumBy(val, 'totalPrice')}))
console.log(totals)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
这篇关于groupBy 与 Lodash 模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!