Typescript lodash Groupby嵌套数组
有人能帮助我如何使用lodash groupby实现以下输入到所需输出吗?我尝试了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
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流程的情况下可以更正它。