使用for循环totalSum Javascript将值添加到一个变量

时间:2013-02-06 17:52:06

标签: javascript

我有一些随机化为变量的值。 现在我想为彼此添加每个值以获得总和,但循环不会将它们添加到一起。

索引变量在我控制台登录时有效。但不是当前值和索引值的总和。 有什么提示吗?

这是循环  // indexValue是我从数组//

获得的值
  var indexValue = index;  // Random number from 1 - 10
    var totalSum = 0;

   for(var x = 0; x <indexValue; x++){

   var currentValue = index[x];
   totalSum += currentValue;
    }

    console.log(totalSum);

2 个答案:

答案 0 :(得分:2)

我假设你引用index[x] index是一个数组。如果是这样,您将错误的值分配给indexValue。试试这个:

var indexValue = index.length;

这样做是将数组的长度分配给变量indexValue。现在for循环将从0运行到n,其中n是数组的长度。

这可以为您提供所需的价值。

希望这有帮助。

修改

下面是我用你的例子创建的jsFiddle的链接,并解释了代码:

jsFiddle

var index = [1,2,3,4,5];  

var indexValue = index.length;  // It's imperative that this is an array
var totalSum = 0;

for(var x = 0; x <indexValue; x++){
    totalSum += index[x];
}

alert(totalSum);

上面的代码是您发布的内容的修改版本。当前值不是必需的,已被删除。在这种情况下,我创建了一个数组并将值存储在索引中。计算长度,并将值加在一起。

为了便于测试,我将console.log(totalSum);更改为alert(totalSum);。它将产生相同的值。

只是关于console.log的参考说明。某些浏览器(主要是IE)如果没有页面刷新而没有自动将调试器附加到进程,则会出现错误,因为console将为undefined。这是一个快速解决方案:

if(window.console && window.console.log) {
    console.log(totalSum);
} 

这将检查(a)控制台对象是否附加到全局窗口对象,以及(b)控制台的日志对象是否附加到控制台对象。

答案 1 :(得分:0)

你可能想要这样的东西:

var sum = 0;
for (var i=0; i < index.length; i++) {
    sum += index[i];
}
console.log(sum);