【发布时间】:2013-03-13 17:46:42
【问题描述】:
我希望能够为淘汰赛生成空白比赛。这是我的意思的一个例子。
假设我们有 8 支球队参加的淘汰赛:
我使用Math.log(teamList.length)/Math.log(2) 计算出锦标赛有 3 轮。
以下是计算每轮比赛数的一般规则:
numberOfRounds = n [ [2^n-1 matches], ...., [2^0 matches] ]
因此我知道,对于 8 支球队的锦标赛将有 3 轮,锦标赛将如下所示:
[ [4 matches], [2 matches], [1 match] ]
我应该指出,每场比赛都存储为一个数组,因此例如 8 队锦标赛的半决赛可能如下所示:
[ [team1,team2], [team3,team4] ]
我正在尝试生成一些代码,这意味着我可以获取球队列表,并为锦标赛生成一组空白比赛。
因此,如果我将 8 支球队的列表传递给锦标赛,则会生成以下匹配数组:
[
[ [], [], [], [] ],
[ [], [] ],
[ [] ]
]
有人对如何做到这一点有任何想法吗?到目前为止,我只有以下内容:
for(var i = 0; i < numRounds; i++) {
matches.push([]);
}
这会生成锦标赛的每一轮,因此对于 8 支球队,它会生成一个长度为 3 的数组,但我不知道如何在每轮内生成必要数量的比赛。
【问题讨论】:
标签: javascript arrays