こんにちは私は数値の配列の積を計算する以下の方法を試しています。このアプローチを使用して配列の乗算を実現することは可能ですか?
var str = [1,2,3];
alert(str.join('*') * 1);
しかし、それは私にNaN
を返します。
他の方法がありますか?
こんにちは私は数値の配列の積を計算する以下の方法を試しています。このアプローチを使用して配列の乗算を実現することは可能ですか?
var str = [1,2,3];
alert(str.join('*') * 1);
しかし、それは私にNaN
を返します。
他の方法がありますか?
理想的には、Array.reduce
を使用することです:
alert(str.reduce(function (acc, curr) { return acc * curr; }, 1));
Array.reduce
は、バージョン9より前のIEでは使用できませんが、多くの実装が見つかるはずです(例:this one)。表現として文字列を評価しているあなたが探している
:
alert(eval(str.join('*')));
あなたがeval
を使用している場合は、あなたが何か間違ったことをやっている場合は、いつものように、あなたが真剣に自問しなければなりません。
は、だけではなく、ループ考えてみましょう。答えを
var result = 1;
for (var i = 0; i < str.length; i++) result *= str[i];
alert(result);
感謝を。残念ながら、私のアプリはIE6でも動作するはずです。 :-( – Exception
@ Soi:JSコードの一部として 'Array.prototype.reduce'の定義を追加すると、どのブラウザーでも正常に動作します。そうでない場合は、配列をループして移動してください。 – Jon