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}));