如何在循环中随机化多个组?

时间:2014-05-13 12:16:20

标签: javascript jquery

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

它从第二个阵列中随机选择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/

1 个答案:

答案 0 :(得分:2)

最有可能的原因是您要分配值而不是进行比较检查:

if (selector = 0)

应该是

if (selector == 0)

if (selector === 0)

取决于您希望检查的严格程度。

=将值赋给变量。

==仅对值进行比较

===对值和类型进行比较。

There's some more information here