我遇到了javascript for循环的问题。我正在添加一个数组的元素,但由于某种原因,我的循环在第一个条目中添加两次!之前有一个类似的主题(http://stackoverflow.com/questions/3121670/for-loop-repeats-first-loop-twice),但作者没有详细讨论他的决议,只是它是“有些愚蠢”他做到了。谁能告诉我我在做什么愚蠢?
for(j=0;j<ARRAY.length;j++)
{TOTAL += ARRAY[j];}
输出在HTML表格中使用,并且显示正确,只是加倍的第一个条目就是问题!
非常感谢任何帮助。
答案 0 :(得分:2)
var TOTAL = 0;
for ( var j = 0, len = ARRAY.length; j < len; j++ ) {
TOTAL += ARRAY[j];
}
MDN建议使用变量来保存数组长度。另外,请使用JSLint检查您的脚本。
答案 1 :(得分:1)
确保使用var ...
声明在那里也提示调试很好。
for(var j=0; j < ARRAY.length; j++) {
{
TOTAL += ARRAY[j];
//alert("The count of J is now " + j);
}
答案 2 :(得分:0)
感谢您的所有帮助。由于我的原始方法达到了死胡同,我研究了使用函数来完成这个技巧。以下作品:
Array.prototype.sum = function() {
for (var j = 0, L = this.length, sum = 0; j < L; sum += this[j++]);
return sum;
}
然后在创建我的html表时调用ARRAY.sum()。
上找到了上述解决方案