2016-04-17 9 views
-4

Ich habe 4 Spannen und II möchte diese Spannen mit Werten füllen, die ich bereits auf einem Array habe, das Problem ist, ich nicht den ersten Wert gos in der ersten span was ich will ist, dass jeder Wert eine zufällige spanWie generiere ich eine Zufallszahl in JavaScript?

<span id="optiona"></span> 
<span id="optionb"></span> 
<span id="optionc"></span> 
<span id="optiond"></span> 

Jeder Wert auf diesem Array

var op1 = Math.floor(Math.random()*9563); 
var op2 = Math.floor(Math.random()*1457); 
var op3 = Math.floor(Math.random()*8547); 
var answers = [op1,op2,op3,rightAnswer] 

Was ich versuche zu tun,

var answerDisplay = document.querySelectorAll(".answers span"); 
for(i=0;i<answers.length;i++){ 
    answerDisplay[i].textContent = answers[rand()]; 
} 
function rand(){ 
    var randomN = Math.floor(Math.random()*answers.length); 
    return randomN; 
} 

Meine Frage ist, wie eine Zufallszahl zu erzeugen, w itout wiederholen?

+0

Haben Sie sogar versucht, die Frage zu googeln? –

+0

Warum möchten Sie, dass "jeder Wert eine zufällige Spanne", wenn die Werte bereits zufällig sind? – C14L

Antwort

0
var answerDisplay = document.querySelectorAll(".answers span"); 
var assigned = []; 
for(i=0;i<answers.length;i++){ 
    var index = newRand(assigned); 
    assigned.push(index); 
    answerDisplay[i].textContent = answers[index]; 
} 
function newRand(assigned){ 
    var r = rand(); 
    while (assigned.indexOf(r) >= 0){ 
     r = rand(); 
    } 
    return r; 
} 
function rand(){ 
    var randomN = Math.floor(Math.random()*answers.length); 
    return randomN; 
} 
Verwandte Themen