Jack
Jack

Reputation: 77

Lottery is not working, specific details missing

I tried to make a small lottery picking 6 random numbers out of 49 which are all different. This is what I came up with but something isn't working. Can you tell me what is wrong and correct the code?

function getNumbers(){
    var numbers = [];
    var randomnumber;
  
    while(numbers.length < 6){
            randomnumber = Math.ceil(Math.random()*49)
            if(arr.indexOf(randomnumber) > -1) continue;
            numbers[numbers.length] = randomnumber;
    }

    numbers.sort(sortNumber);
  
    document.getElementById("Ausgabe").innerHTML = numbers;
}

function sortNumber(a,b) {
     return a - b;
}

Upvotes: 1

Views: 85

Answers (3)

user8003769
user8003769

Reputation:

There is one major problem which the others have missed. You forgot to call the function. lol.

Second error is that you wrote arr instead of numbers in the if statement.

Upvotes: 0

user7999267
user7999267

Reputation:

if(arr.indexOf(randomnumber) > -1) should be replaced by numbers.indexOf(randomnumber)

so arr -> numbers

function getNumbers(){
    var numbers = [];
    var randomnumber;

    while(numbers.length < 6){
            randomnumber = Math.ceil(Math.random()*49)
            if(numbers.indexOf(randomnumber) > -1) continue;
            numbers[numbers.length] = randomnumber;
    }

    numbers.sort(sortNumber);

    document.getElementById("Ausgabe").innerHTML = numbers;
}



function sortNumber(a,b) {
    return a - b;
}

getNumbers();
<div id="Ausgabe" ></div>

Upvotes: 1

Hexiler
Hexiler

Reputation: 203

It works to me. You should use your numbers array instead of arr.

Html:

<p id="Ausgabe"></p>

JavaScript:

function getNumbers(){
        var numbers = [];
        var randomnumber;


    while(numbers.length < 6){
            randomnumber = Math.ceil(Math.random()*49)
            if(numbers.indexOf(randomnumber) > -1) continue;
            numbers[numbers.length] = randomnumber;
    }

    numbers.sort(sortNumber);

    document.getElementById("Ausgabe").innerHTML = numbers;
}



function sortNumber(a,b) {
        return a - b;
}

Upvotes: 0

Related Questions