2017-05-13 9 views
2

私は、49のうち6つの乱数を選んで小さな宝くじを作りました。これは私が思いついたものですが、何かが働いていません。何が間違っていて、コードを修正するか教えてください。 おかげ宝くじがうまくいかない

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; 
    } 
+1

'arr.indexOf'はおそらく' numbers.indexOf'でしょう。コンソールウィンドウにエラーがありますか? –

+1

_ "しかし何かが動かない" _それは本当に詳細な問題の説明です – Andreas

+0

それはそれでした。私はそれを見落として私はtotalyを助けてくれてありがとう。 – Jack

答えて

1

if(arr.indexOf(randomnumber) > -1)numbers.indexOf(randomnumber)

ので->編曲番号

012に置き換える必要があります

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>

0

それは私に動作します。 arrの代わりにnumbers配列を使用する必要があります。

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; 
} 
0

他の人が見逃している一つの大きな問題があります。あなたは関数を呼び出すのを忘れてしまった。笑。

第2のエラーは、ifステートメントに数字の代わりにarrを書いたことです。

+0

Jah it's 2番目の – Jack

関連する問題