Just keep track of it all in an object:
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}));