2016-07-01 3 views
0

난 1-100 사이의 난수를 생성하고 싶지만, 매번 한 번만 그 숫자를 생성하고 싶습니다. .Math를 실행하고 배열로 밀어 넣기 위해 3 번 실행되는 루프가 있습니다. 하지만 같은 번호를 두 번 이상 생성하는 상황을 원하지 않습니다.4 번 반복되는 임의의 숫자 생성 Javascript?

나는 21 개를 allAnswers [] 배열에 넣었습니다. 일관성을 유지할 것입니다. 해당 번호가 존재하는 경우 해당 배열을 생성하고 확인한 다음 .math를 다시 실행하는 방법이 있습니까? 배열이 밀어 전에 값이있는 경우

function buttonGenerator(){ 
    var allAnswers = [21], 
     randomizer = []; 

    // Generates 3 random answers 
    for(a = 0 ; a < 3; a++) { 
     wrongAnswers = Math.floor((Math.random() * 100) + 1); 
     allAnswers.push(wrongAnswers); 
    } 

    // Generates random buttons while inputting the correct and incorrect answers randomly 
    for(i = 0 ; i < 4; i++) { 
     var buttonArea = $("#answerOptions"); 
     input = $('<button class="col-xs-6 btn btn-primary"></button>'); 
     input.appendTo(buttonArea); 
    } 

    shuffle(allAnswers); 
    console.log(allAnswers); 
} 

buttonGenerator(); 

답변

1

사용 indexOf 확인 사항 : (! allAnswers.indexOf (wrongAnswers)) 경우

if (allAnswers.indexOf(wrongAnswers) === -1) { 
    allAnswers.push(wrongAnswers); 
} 
+1

당신이 이동하지 않을까요을 아직 배열에 존재하지 않는지 확인하려면? –

+0

맞았습니다. – JordanHendrix

+0

좋아요. 내가 무작위로 선택했을 때 배열 [21]이 0에서 벗어나는 것을 볼 수 있습니다. [41, 44, 28, 21] 위치를 0으로 유지하는 방법이 있습니까? –

관련 문제