嘿傢伙我沒有看到我的代碼上的錯誤。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來運行它很容易。
將'document.write(numberOfarrays.toString());'移到循環的外部。你在每一步顯示數組的內容。如果[使用控制檯](http://stackoverflow.com/documentation/javascript/185/hello-world/714/using-console-log)記錄信息,它會更好。 –
thx非常。現在我找到了我的錯。有時你需要寫信給人以獲得解決方案^^。 – thenewOne1234567890