【发布时间】:2019-09-17 12:15:53
【问题描述】:
我编写了一个联赛日程表,这样 12 支球队总共进行了 192 场比赛(每支对阵同盟对手 4 次,各对阵跨盟对手 2 次)。我也洗牌了这些游戏。
我的最后一步是将这 192 场比赛分成 16 周,每场 6 场。但是,重要的是每支球队在任何给定的一周内只出现一次(即 - 每周只打一场比赛)。这是我坚持的部分。
我的计划数组看起来像这样:
let schedule = ["a : b", "c : d", "e : f", "g : h", "i : j", "k : l", "m : n", "o : p", "q : r", "s : t", "u : v", "x : y", "a : c", "d : f", "g : i", "l : o"]; // remember, this is actually 192 elements long
从这个数组(记住它有 192 个元素,所以它比上面的大,这是一个展示数据结构的例子)我想生成 week1,它是一个包含 6 个元素的数组schedule数组,像这样:
let week1 = ["a : b", "c : d", "e : f", "g : h", "i : j", "k : l"];
以上是我想要的结果。但是,我不能只使用schedule.slice(0, 6) 来获得 6 个元素,因为我最终会导致团队打两次,就像这样:
let week1 = ["a : b", "c : d", "a : e", "f : g", "h : i", "j : k"]; // Notice "a" is playing twice here, which I do not want.
那么,问题是,我怎样才能从我的 192 场比赛中取出 6 场比赛,但确保每支球队在这 6 场比赛中只出现一次?
【问题讨论】:
标签: javascript arrays