こんにちは、以下の方法で数値の配列の積を計算しようとしています。
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 では使用できませんが、見つけるべき実装がたくさんあるはずです (たとえば、これ)。
あなたが探しているのは、文字列を式として評価することです。
alert(eval(str.join('*')));
ただし、いつものように、使用してeval
いる場合は、何か間違ったことをしているのかどうかを真剣に自問する必要があります。
代わりにループすることを検討してください。
var result = 1;
for (var i = 0; i < str.length; i++) result *= str[i];
alert(result);