2017-01-12 5 views
0

ちょっと私のコードに違反があります。Javascript array.push()特別なコード

私は配列に数値をいくつか追加したいだけです。

"numberOfarrays"という名前の配列を見てください。 なぜそのようなアウト置く外観は次のとおりです。

5050,2550,25,2050,25,20,1450,25,20 ...

ないように私は考えた:

50,25,20,14 ....

私は本当に混乱しています。

マイコード:

<script> 
    var a = [2,4,6,8,10,12,14,16,18,20]; 
    var sum= 0;//110 
    for (var i = 0; i < a.length; i ++) { 
     sum = sum+a[i] 
    } 
    alert(sum); 
    var tmp = 100/sum;//0,909.. 
    alert(tmp); 
    var arryPlaetze = []; 

    for (var i = 0; i < a.length; i ++) {// 10 durchläufe 
     arryPlaetze.push(Math.round(tmp*a[i])); 
    } 
    var wheel =[]; 
    var lengthWheel = 100; 
    var numberOfarrays =[]; 
    alert("numberOfarrays"+ numberOfarrays.toString()); 
    alert(arryPlaetze[1]); 

    //Problem 
    for (var i = 0; i < arryPlaetze.length; i++) { 
     alert("zahler: "+i); 
     alert("test "+Math.round(lengthWheel/arryPlaetze[i]));//50 
     var tmp = Math.round(lengthWheel/arryPlaetze[i]); 
     numberOfarrays.push(tmp);// fail why 5050 not 50,25 


     document.write(numberOfarrays.toString()); 

    } 

</script> 

あなたは非常に簡単にそれを実行するためのHTMLにコードを置くことができます。

+3

'document.write(numberOfarrays.toString()); 'をループ外に移動します。すべてのステップで配列の内容を表示しています。ロギング情報について[あなたのコンソールを使用する](http://stackoverflow.com/documentation/javascript/185/hello-world/714/using-console-log)すればさらに良いでしょう。 –

+0

thx非常に。今私は自分の間違いを見つけた。時々あなたは解決策を得るためにpoepleに書き込む必要があります^^。 – thenewOne1234567890

答えて

6

document.write()をループ外に移動します。今のところは、アレイに

(50)(50,25)(50,25,20)(50,25,20,14) 

につながるしかし、誰() sが存在しないので、マイク・Cは、それがために良いだろう言ったように、それだけでも

505025502520... 

として出力するたびに、印刷していますdocument.write()の代わりにconsole.log()を使用した場合のログ記録

+0

「アラート」よりもロギングの方が効果的です。 –

関連する問題