我不是一个菜鸟 - 但差不多:),我正在为英语教学网站开发一个基于JS的刽子手游戏。我把一切都做得很完美' IF'我想要随机选择单词,但不幸的是,这通常意味着同一个单词将连续重复几次。所以我希望这些单词按照它们出现在数组中的顺序出现。我知道这非常简单,但不能让我的生活让这段代码发挥作用:
var words = ['petrol', 'leaded', 'rate', 'crime', 'behalf'];
function chooseWord () {
var wordsLength = words.length;
for (var i = 0; i < wordsLength; i++) {
return words [wordsLength[i]];
}
}
我非常感谢任何建议/指示
非常感谢
特里
答案 0 :(得分:2)
简单修复......你没有正确索引数组
var words = ['petrol', 'leaded', 'rate', 'crime', 'behalf'];
function chooseWord () {
var wordsLength = words.length;
for (var i = 0; i < wordsLength; i++) {
return words[i]; // index using the 'i' value, not the word length
}
}
但是,由于每次调用该函数都会返回,因此每次都会得到相同的单词。尝试这样的事情:
var words = ['petrol', 'leaded', 'rate', 'crime', 'behalf'];
var nextIndex = 0;
function chooseWord () {
if ( nextIndex >= words.length ) { // make sure it doesn't get higher than the length.
nextIndex = 0;
}
nextIndex++;
return words[nextIndex-1];
}
测试:
alert(chooseWord());
alert(chooseWord());
alert(chooseWord());
alert(chooseWord());
每次打电话,你都会得到一个新词。使用此测试的示例输出:
petrol
leaded
rate
crime