【发布时间】:2018-02-19 13:24:11
【问题描述】:
我已经开始使用 Javascript 构建一个超级基本的“常识测验”......但我正在努力想出一种有效的方法来获取一个不包括先前选择的问题的随机问题。
目前我有一个名为 previous_questions 的数组,它存储先前选择的问题的索引,以及一个 while 循环,如果数字已经存在,则继续为 'r' 生成随机值previous_questions 数组。
var r = Math.floor(Math.random() * questions.length);
while(previous_questions.indexOf(r) >= 0) {
r = Math.floor(Math.random() * questions.length);
}
虽然目前这正在起作用,但我无法想象这是一种有效的方法,并且当没有问题可供选择时可能会导致无限循环。什么是更有效的方法?提前致谢!
【问题讨论】:
标签: javascript arrays loops random