gpt4 book ai didi

javascript - 使用 Lodash 在 Nodejs 中按多个字段进行分组

转载 作者:行者123 更新时间:2023-12-03 00:30:59 24 4
gpt4 key购买 nike

我目前正在按帐户对数据进行分组,但也需要按销售人员进行分组。但是,我无法弄清楚如何成功实现该功能,以便它同时按多个字段进行分组。有人可以提供一些关于我如何做到这一点的指导吗?

这是我现在对数据进行分组的函数:

filteredData[rep.id] = _.chain(filteredData[rep.id]).groupBy('account').map(function(v, i) {
return {
customer: i,
salesperson: _.reduce(v, function(res, val) {
return val['salesperson'];
},0),
sales_ytd: _.reduce(v, function(res, val) {
return res + Number(val['sales - ytd']);
},0),
mgn$_ytd: _.reduce(v, function(res, val) {
return res + Number(val['margin - ytd']);
},0),
sales_last: _.reduce(v, function(res, val) {
return res + Number(val['sales - pytd']);
},0),
mgn$_last: _.reduce(v, function(res, val) {
return res + Number(val['margin - pytd']);
},0)
}
}).value();

最佳答案

当需要按多个字段分组时,需要组合字段值。

示例(未测试):

filteredData[rep.id] = _(filteredData[rep.id])
.groupBy(function(o) {
return o.account + '-' + o.salesperson;
})
.map(function(v, i) {
var customer = _.head(_.words(i));

return {
customer: customer,
salesperson: _.reduce(v, function(res, val) {
return val['salesperson'];
},0),
sales_ytd: _.reduce(v, function(res, val) {
return res + Number(val['sales - ytd']);
},0),
mgn$_ytd: _.reduce(v, function(res, val) {
return res + Number(val['margin - ytd']);
},0),
sales_last: _.reduce(v, function(res, val) {
return res + Number(val['sales - pytd']);
},0),
mgn$_last: _.reduce(v, function(res, val) {
return res + Number(val['margin - pytd']);
},0)
};

}).value();

关于javascript - 使用 Lodash 在 Nodejs 中按多个字段进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53870212/

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