Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript lodash Groupby嵌套数组_Typescript_Group By_Lodash - Fatal编程技术网

Typescript lodash Groupby嵌套数组

Typescript lodash Groupby嵌套数组,typescript,group-by,lodash,Typescript,Group By,Lodash,有人能帮助我如何使用lodash groupby实现以下输入到所需输出吗?我尝试了lodash groupby方法,如其他链接中所讨论的,但无法实现我预期的输出。 输入: inputList: dataMaster[] = [ { "isSelected": true, "GroupKey": "G1", "GroupName": "Group1", "Key": "Key1", "Name": "Key Name 1" }, { "i

有人能帮助我如何使用lodash groupby实现以下输入到所需输出吗?我尝试了lodash groupby方法,如其他链接中所讨论的,但无法实现我预期的输出。 输入:

inputList: dataMaster[] = [
  {
    "isSelected": true,
    "GroupKey": "G1",
    "GroupName": "Group1",
    "Key": "Key1",
    "Name": "Key Name 1"
  },
  {
    "isSelected": true,
    "GroupKey": "G1",
    "GroupName": "Group1",
    "Key": "Key2",
    "Name": "Key Name 2"
  },
  {
    "isSelected": true,
    "GroupKey": "G2",
    "GroupName": "Group2",
    "Key": "Key1",
    "Name": "Key Name 1"
  },
  {
    "isSelected": true,
    "GroupKey": "G2",
    "GroupName": "Group2",
    "Key": "Key2",
    "Name": "Key Name 2"
  }
预期产出如下:

outputList: dataGroup[] = [
       {
          GroupKey:"G1",
          GroupName:"Group1",
          Group:[
             {
                Key:"Key1",
                Name:"Key Name 1"
             },
             {
                Key:"Key2",
                Name:"Key Name 2"
             }
          ]
       },
       {
          GroupKey:"G2",
          GroupName:"Group2",
          Group:[
             {
                Key:"Key1",
                Name:"Key Name 1"
             },
             {
                Key:"Key2",
                Name:"Key Name 2"
             }
          ]
       }
    ]
给你:

// Change as necessary for your module loading configuration
import _ = require("lodash");

let grouped1 = _.groupBy(inputList, (dm) => dm.GroupKey);
let outputList: dataGroup[] = Object.keys(grouped1).map((groupKey) => {
    let groupItems = grouped1[groupKey];
    return {
        GroupKey: groupKey,
        GroupName: groupItems[0].GroupName,
        Group: groupItems.map((dm) => _.pick(dm, "Key", "Name"))
    };
});

如果您对这项工作有任何疑问,请告诉我。

谢谢Matt。这是预期的工作!你救了我一天!我得到了它!请解释为什么这被否决,以便我在不遵循StackOverflow流程的情况下可以更正它。