groups calcetto

by BeNdErR

JavaScript

var groupNames = ["A","B","C","D","E","F","G","H","I","J","K","L"];
var teamsPerGroup = 4;
var groupsTable = [];
var teamsTable =  [{
    name: "A"
}, {
    name: "B"
}, {
    name: "C"
}, {
    name: "D"
}, {
    name: "E"
}, {
    name: "F"
}, {
    name: "G"
}, {
    name: "H"
}, {
    name: "I"
}, {
    name: "L"
}];
shuffle(teamsTable);


function createGroups(teams) {
    var sliceStart = 0;
    var groups = [];
    while(sliceStart < teams.length){
        groups.push({
            id : "id",
            name : groupNames[groups.length],
            teams : teams.slice(sliceStart, sliceStart + teamsPerGroup)
        });
        sliceStart += teamsPerGroup;
    }
    for(var g = 0; g < groups.length; g++){
        var currentGroup = groups[g];
        currentGroup.games = [];
        for(var x = 0; x < currentGroup.teams.length; x++){
            var homeTeam = currentGroup.teams[x].name;
            for(var y = x + 1; y < currentGroup.teams.length; y++){
                var opponentTeam = currentGroup.teams[y].name;
                currentGroup.games.push({
                    id : "gameId",
                    home : homeTeam,
                    opponent : opponentTeam,
                    homeScore : 0,
                    opponentScore : 0
                })
            }
        }
        shuffle(currentGroup.games)
    }
    return(groups);
}
groupsTable = createGroups(teamsTable);
console.log(groupsTable);













function shuffle(o){
    for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
    return o;
};