Javascript json数据分组

对不起,如果以前曾经问过,但我找不到一个很好的例子,说明我想要完成的事情。 也许我只是不寻找正确的事情。 如果在某处有解释,请纠正我。 无论如何…

我有像这样结构的JSON数据……

{"Result":[ {"Level":"ML","TeamName":"Team 1","League":"League 1"}, {"Level":"ML","TeamName":"Team 2","League":"League 2"}, {"Level":"ML","TeamName":"Team 3","League":"League 3"}, {"Level":"3A","TeamName":"Team 4","League":"League 1"}, {"Level":"3A","TeamName":"Team 5","League":"League 2"}, {"Level":"3A","TeamName":"Team 6","League":"League 3"}, {"Level":"2A","TeamName":"Team 7","League":"League 1"}, {"Level":"2A","TeamName":"Team 8","League":"League 2"}, {"Level":"2A","TeamName":"Team 9","League":"League 3"}, ]} 

我想分组,或者重新组织它……

 {"Result":[ {"ML":[ {"TeamName":"Team 1","League":"League 1"}, {"TeamName":"Team 2","League":"League 2"}, {"TeamName":"Team 3","League":"League 3"} ]}, {"3A":[ {"TeamName":"Team 4","League":"League 1"}, {"TeamName":"Team 5","League":"League 2"}, {"TeamName":"Team 6","League":"League 3"} ]}, {"2A":[ {"TeamName":"Team 7","League":"League 1"}, {"TeamName":"Team 8","League":"League 2"}, {"TeamName":"Team 9","League":"League 3"} ]} ]} 

我如何用Javascript / jQuery实现这一目标? 不幸的是我无法编辑服务器发送给我的内容。

只需跟踪对象中的所有内容:

 let groups = Object.create(null); data.forEach(item => { if (!groups[item.Level]) { groups[item.Level] = []; } groups[item.Level].push({ TeamName: item.TeamName, League: item.League }); }); let result = Object.entries(groups) .map(([k, v]) => ({[k]: v}));