2014-03-03 66 views
0

我的母亲是一名老师,我决定让她成为一名随机选择学生(二年级)。我的问题是,它不断返回一名学生。丹尼尔。我将它设置为登录到控制台,返回的随机数是什么,即使随机数不是1,它也会返回Daniel。一个简单的任务,或者我想的。背景资料 - 有26名学生,她在丹佛教书(人口众多,有很多奇怪的名字)。Randomizer总是返回第一个值

function studPick() { 
    var random = Math.random() * 100/3.84615384615 

    var rand = Math.ceil(random * 1)/1; 
    console.log("rand = " + rand + "."); 
    if (rand = 1) { 
    var student = "Daniel"; 
    } 
    else if (rand = 2) { 
    var student = "Judge"; 
    } 
    else if (rand = 3) 
    { 
    var student = "Jonathan"; 
    } 
    else if (rand = 4) { 
    var student = "John"; 
    } 
    else if (rand = 5) { 
    var student = "Amethyst"; 
    } 
    else if (rand = 6) { 
    var student = "Noah"; 
    } 
    else if (rand = 7) { 
    var student = "Antonio"; 
    } 
    else if (rand = 8) { 
    var student = "Ramon"; 
    } 
    else if (rand = 9) { 
    var student = "Aidan"; 
    } 
    else if (rand = 10) { 
    var student = "Manuel"; 
    } 
    else if (rand = 11) { 
    var student = "Ingrid"; 
    } 
    else if (rand = 12) { 
    var student = "Anastasia"; 
    } 
    else if (rand = 13) { 
    var student = "Annabella"; 
    } 
    else if (rand = 14) { 
    var student = "Christella"; 
    } 
    else if (rand = 15) { 
    var student = "La'Kym"; 
    } 
    else if (rand = 16) { 
    var student = "Isabella"; 
    } 
    else if (rand = 17) { 
    var student = "Hadiyah"; 
    } 
    else if (rand = 18) { 
    var student = "Jersey S"; 
    } 
    else if (rand = 19) { 
    var student = "Aviana"; 
    } 
    else if (rand = 20) { 
    var student = "Zion"; 
    } 
    else if (rand = 21) { 
    var student = "Carlos"; 
    } 
    else if (rand = 22) { 
    var student = "Loren"; 
    } 
    else if (rand = 23) { 
    var student = "Irie"; 
    } 
    else if (rand = 24) { 
    var student = "Trinidad" 
    } 
    else if (rand = 25) { 
    var student = "Jersey W" 
    } 
    else if (rand = 26) { 
    var student = "Stella" 
    } 
    else { 
    alert("An error has occured"); 
    } 
    alert("Randomly picked student: " + student + ".") 
} 

编辑:我怀疑我的问题是我重新定义了一个已定义的变量。我会检查,并删除我的问题,如果这是解决方案。

+3

我认为你应该先学习js人 – Krab

+0

Krab ...你认为我没有JS的背景知识吗? *叹息* – redacted

+0

应该使用switch语句。 – Mouseroot

回答

6

您的#1错误在编写=,您的意思是==rand = 8表示“make rand的值为1”;而您要的是rand == 8,“是rand等于8?”。

尽管如此,如果您使用数组,您的程序将会更容易,更简单。

var students = ["Daniel", "Judge", "Jonathan"]; 
var randomStudentIndex = Math.floor(Math.random() * students.length); 
var student = students[randomStudentIndex]; 

(有JavaScript的额外的怪癖有===,在这里并不重要,但是可以咬你在众所周知的屁股后面,所以要确保在以后学习的差异。它实际上会更好测试一切与===而不是==,直到你知道你为什么要使用==。)

相关问题