我有一个json列表,我试图用两个键重新组合这个地图中的对象。目前,我只是成功地使用lodash groupBy按一个键进行分组,但我无法找到创建行键的正确方法,并将大小/数量分组到此新数组中。我可以使用ES6或lodash在我的代码使用lodash创建一个json地图的两级地图
const colorsMap= _.groupBy(colors, 'Id');
我最初的JSON看起来是这样的:
colors = [
{
"Id": "1",
"color": "red",
"size": "10"
"QTY": "2000"
"ref": "tr"
},
{
"Id": "1",
"color": "red",
"size": "25"
"QTY": "3000"
"ref": "tr"
},
{
"Id": "1",
"color": "blue",
"size": "15"
"QTY": "2050"
"ref": "gt",
},
{
"Id": "2",
"color": "red",
"size": "18"
"QTY": "2010"
"ref": "tt"
},
]
,我想有这样的事情
[
"1": [
{
"Id": "1",
"color": "red",
"row": [
{
"size": "10"
"QTY": "2000"
},
{
"size": "25"
"QTY": "3000"
},
{
"size": "15"
"QTY": "0"
}
],
"ref": "tr"
},
{
"Id": "1",
"color": "blue",
"row": [
{
"size": "10"
"QTY": "0"
},
{
"size": "25"
"QTY": "0"
},
{
"size": "15"
"QTY": "2050"
}
],
"ref": "gt",
}
],
"2": [
{
"Id": "2",
"color": "red",
"row": [
{
"size": "18"
"QTY": "2010"
}
],
"ref": "tt"
}
]
]
你试过了什么? – Slavik
'colorsMap = _.groupBy(colors,'Id')'然后在colorsMap上我做了一个forEach,但无法在不同的键上创建row属性 – kyserslick