Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript array.push()特殊代码_Javascript_Html_Arrays - Fatal编程技术网

Javascript array.push()特殊代码

Javascript array.push()特殊代码,javascript,html,arrays,Javascript,Html,Arrays,嘿,伙计们,我看不出我的代码有错 我只想在数组中添加一些计算数字 只需看看名为“numberOfarrays”的数组。 为什么输出是这样的: 505022550,252050,25,201450,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

嘿,伙计们,我看不出我的代码有错

我只想在数组中添加一些计算数字

只需看看名为“numberOfarrays”的数组。 为什么输出是这样的:

505022550,252050,25,201450,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>

变量a=[2,4,6,8,10,12,14,16,18,20];
var总和=0//110
对于(变量i=0;i

您可以将代码放入html中,以便非常轻松地运行。

文档.write()移动到循环之外。现在它每次都在打印阵列,这导致

(50)(50,25)(50,25,20)(50,25,20,14)
但是因为没有
()
s,所以它只打印为

505025502520...

同样正如Mike C所说,如果您使用
console.log()
而不是
document.write()

文档.write()移动到循环之外,那么记录日志会更好。现在它每次都在打印阵列,这导致

(50)(50,25)(50,25,20)(50,25,20,14)
但是因为没有
()
s,所以它只打印为

505025502520...

正如Mike C所说,如果使用
console.log()
而不是
document.write()

移动
document.write(numberOfarrays.toString()),那么记录日志会更好循环外部。在每一步都显示数组的内容。如果你非常喜欢记录information.thx,那就更好了。现在我发现了我的错。有时,您需要向poee写入以获得解决方案^。Move
document.write(numberOfarrays.toString())循环外部。在每一步都显示数组的内容。如果你非常喜欢记录information.thx,那就更好了。现在我发现了我的错。有时,您需要向poeple写入以获得解决方案^^^。它也比“警报”更有效地用于日志记录。它也比“警报”更有效地用于日志记录