【问题标题】:lodash - group and populate arrays using typescriptlodash - 使用 typescript 对数组进行分组和填充
【发布时间】:2021-10-23 10:37:15
【问题描述】:

使用 lodash,我如何将具有相同 main_role_group_id 的 company_name 分组,如下所示?

我使用嵌套的 for 循环将其写出来,但我认为在 lodash 中会有更优雅的方式来执行此操作。我用的不多,想弄清楚该用哪个函数。

[{ 
    "main_role_group_id": 5,
    "company_name": "Fitzsimons PTY LTD"
},
{
    "main_role_group_id": 1,
    "company_name": "APF Brisbane Pty Ltd"
},
{
    "main_role_group_id": 5,
    "company_name": "Five Islands Secondary College"
},
{
    "main_role_group_id": 1,
    "company_name": "General Excavators Pty Ltd"
},
{
    "main_role_group_id": 7,
    "company_name": "Chubb Security - SA Office"
},
{
    "main_role_group_id": 7,
    "company_name": "Stay Kool Airconditioning & Electrical Services"
}]

[{ 
    "main_role_group_id": 5,
    "company": [{"company_name": "Fitzsimons PTY LTD"},{"company_name": "Five Islands Secondary College"}]
},
{
    "main_role_group_id": 1,
    "company": [{"company_name": "APF Brisbane Pty Ltd"},{"company_name": "General Excavators Pty Ltd"}]
},
{
    "main_role_group_id": 7,
    "company": [{"company_name": "Chubb Security - SA Office"},{"company_name": "Stay Kool Airconditioning & Electrical Services"}]
}]

【问题讨论】:

    标签: typescript lodash


    【解决方案1】:

    让您的嵌套数组为companies

    var groupVal = _.mapValues(_.groupBy(companies, 'main_role_group_id'), clist = clist.map(company => _.omit(company, 'main_role_group_id')));
    
    console.log(groupVal);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-25
      • 1970-01-01
      • 1970-01-01
      • 2021-05-04
      • 2021-06-26
      • 2018-01-09
      相关资源
      最近更新 更多