我一直在尝试使用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);
答案 0 :(得分:6)
有什么问题?你永远不会提到正在生成什么样的结果或者前端html代码是什么样的。
js看起来可编辑,但这里有一些指示。
养成这种思维模式是一个好习惯,加上它可能会让你免于在以后犯下愚蠢的错误。无论如何,为了加强这一点,下面是一个数字图表。
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)
有几点需要注意:
var num[i]
什么时候应该
var num
getElementById(id).value
仅适用于表单元素,您必须使用.innerHTML
作为div。