对于循环重复第一次迭代两次

时间:2011-11-02 17:11:42

标签: javascript html for-loop sum

我遇到了javascript for循环的问题。我正在添加一个数组的元素,但由于某种原因,我的循环在第一个条目中添加两次!之前有一个类似的主题(http://stackoverflow.com/questions/3121670/for-loop-repeats-first-loop-twice),但作者没有详细讨论他的决议,只是它是“有些愚蠢”他做到了。谁能告诉我我在做什么愚蠢?

for(j=0;j<ARRAY.length;j++)
{TOTAL += ARRAY[j];}

输出在HTML表格中使用,并且显示正确,只是加倍的第一个条目就是问题!

非常感谢任何帮助。

3 个答案:

答案 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()。

我在http://www.codingforums.com/showthread.php?t=218803

上找到了上述解决方案