我如何在循环中随机分配多个组

How do I randomise multiple groups in a loop?

本文关键字:分配 随机 循环      更新时间:2023-09-26

我正在做一个小测试,人们可以用它来检查他们对平假名的了解。

从第二个数组中随机选择4个平假名和一个正确的平假名拼写。

它看起来和它应该的一模一样。正确答案每次都在同一个地方!第二个平假名总是显示为正确的。这是我用来随机化的代码。提前感谢您的帮助!

var first = Math.floor((Math.random() * 46));
var second = Math.floor((Math.random() * 46));
var third = Math.floor((Math.random() * 46));
var fourth = Math.floor((Math.random() * 46));
var selector = Math.floor((Math.random() * 4));
var firstHiragana = hiraganaSet[first][0];
var secondHiragana = hiraganaSet[second][0];
var thirdHiragana = hiraganaSet[third][0];
var fourthHiragana = hiraganaSet[fourth][0];
alert(selector)
if (selector = 0){
    var romaji = hiraganaSet[first][1];
    var romajiData = hiraganaSet[first][0];   
}
else if (selector = 1){
    var romaji = hiraganaSet[second][1];
    var romajiData = hiraganaSet[second][0];
}
else if (selector = 2){
    var romaji = hiraganaSet[third][1];
    var romajiData = hiraganaSet[third][0];
}
else if (selector = 3){
    var romaji = hiraganaSet[fourth][1];
    var romajiData = hiraganaSet[fourth][0];
}
http://jsfiddle.net/jB6cp/1/

很可能是因为你在赋值而不是做比较检查:

if (selector = 0)
应该

if (selector == 0)

if (selector === 0)

取决于你希望你的检查有多严格

=赋值给变量

==只比较

===比较值和类型

这里有更多的信息