使用for循环和document.getElementById在Javascript中填充数组

Pau*_*aul 2 html javascript loops for-loop

我一直在尝试使用for循环填充数组并使用这些值 document.getElementById("spin " + i).value;

ids在我的HTML对于每个输入标签去从SPIN1到spin18.

对我做错了什么建议?或者我可以改变什么?

var nums = [];

for(var i = 1; i <= 18; i++){
    var num[i] = parseInt(document.getElementById("spin" + i).value);

    nums.push(num[i]);

}

alert(nums.length);
Run Code Online (Sandbox Code Playgroud)

Dan*_*Dan 6

问题是什么?你永远不会提到正在生成什么样的结果或者前端html代码是什么样的.

js看起来可编辑,但这里有一些指针.

数字0在1之前

进入这个思维模式是一个好习惯,而且它可能会让你免于在以后犯下愚蠢的错误.无论如何,为了加强这一点,下面是一个数字图表.

    0      10
    1      11
    2      12
    3      13
    4      14
    5      15
    6      16
    7      17
    8      18
    9      19

避免不必要的变量

拥有一个优化冗余代码的js编译器是一个可悲的新功能.但是,为什么有两条线可以保留,当你有一条线时.

var nums = [];

for( var i = 0; i < 18; i++ ) {
    nums[i] = parseInt( document.getElementById("spin" + i).value );
}
Run Code Online (Sandbox Code Playgroud)

不要推,插入

推送方法具有昂贵的开销,因此请谨慎使用.

记录仪

控制台有一个内置的记录器,为什么不使用它而不是一个警告框?

console.log( nums.length );
Run Code Online (Sandbox Code Playgroud)

  • 我同意达姆.根据[this test](http://jsperf.com/push-vs-arr-ii),如果你有很多代码,`.push`会大大减慢你的代码. (2认同)