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

时间:2013-03-18 06:33:26

标签: javascript html loops for-loop

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

获取此类值

我的html上每个输入标记的ids从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);

3 个答案:

答案 0 :(得分: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 );
}

不要推,插入

推送方法的开销很大,因此请谨慎使用。

记录器

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

console.log( nums.length );

答案 1 :(得分:1)

试试这个

var nums = [];

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

    nums.push(num);

}

alert(nums.length);

答案 2 :(得分:1)

有几点需要注意:

  1. 正如PSR所说,您使用:
  2. var num[i]
    

    什么时候应该

    var num
    
    1. getElementById(id).value仅适用于表单元素,您必须使用.innerHTML作为div。
    2. 这对我有用:http://jsfiddle.net/sbqeT/