You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Lodash的groupBy实现多字段分组并自定义输出结构

解决方案

你可以给_.groupBy传入自定义回调生成组合分组键,再拆分键提取color和order字段即可,修改后的代码如下:

var result = _.chain(data)
    // 传入自定义回调,用color和order拼接生成分组键
    .groupBy(function(item) {
        return item.color + '|' + item.order;
    })
    .pairs()
    .map(function(currentItem) {
        // 拆分分组键得到对应字段值
        var keyParts = currentItem[0].split('|');
        return {
            color: keyParts[0],
            order: Number(keyParts[1]),
            // 若不需要保留users里的order字段,可改用这行代码:
            // users: _.map(currentItem[1], user => _.omit(user, 'order'))
            users: currentItem[1]
        };
    })
    .value();
console.log(result);

注意事项

你给出的示例原始数组中,eddie对应的对象里"order": 3后面缺少逗号,运行前需要先补上避免语法错误。

内容的提问来源于stack exchange,提问作者user15748961

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 23:45:05