0

変数にランダム化された値がいくつかあります。今、私はすべての値を互いに加算して合計を取得したいのですが、ループはそれらを加算しません。

インデックス変数は、コンソールでログに記録すると機能します。ただし、現在の値とインデックス値の合計ではありません。任意のヒント ?

これはループです//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);
4

2 に答える 2

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)コンソールのログオブジェクトがコンソールオブジェクトにアタッチされていることがチェックされます。

于 2013-02-06T17:54:00.420 に答える
0

おそらく次のようなものが必要です。

var sum = 0;
for (var i=0; i < index.length; i++) {
    sum += index[i];
}
console.log(sum);
于 2013-02-06T17:55:02.627 に答える