3

配列に入力されたすべての数値の階乗を与える JavaScript を作成しました (配列の最初の数値 "0" を差し引いて、コードを正しく実行するためにフィラーの目的で配置する必要がありました)。

fact = [0, 4, 2, 5, 3];
factorial = 1;
for (x = 1; x < fact.length; x++) {
for (i = 1; i <= fact[x]; i++) {
 factorial *= i;
 if (fact[x] === i) {
    console.log(fact[x] + "!" + " " + "=" + " " + factorial);
     factorial = 1;
   }
  }
 }``

ここですべてが正常に機能します。console.log です。

4!= 24

2!= 2

5!= 120

3!= 6

私の質問は、変数 x と i の初期値を 0 に変更して、すべてを 0 に出力せずに配列内のスペース ホルダー "0" を削除する方法です。現在、変数を 0 に設定してスペース ホルダーを開始して削除すると「0」私の配列では、方程式は次のようになります。

階乗 *= 0;

これにより、すべてがゼロになり、私はそれを望んでいません! 質問の言葉遣いが下手で申し訳ありませんが、助けてくれてありがとう!

4

3 に答える 3

0

私の質問は、変数 x と i の初期値を 0 に変更して、スペース ホルダー「0」を削除する方法です。

なぜi0に変更するのですか?fact配列とはまったく関係ありません。あなたの心配は的外れです。プレースホルダーを削除すると、コードは正常に機能するはずです0:

fact = [4, 2, 5, 3];
factorial = 1;
for (x = 0; x < fact.length; x++) {
  for (i = 1; i <= fact[x]; i++) {
    factorial *= i;
    if (fact[x] === i) {
      console.log(fact[x] + "!" + " " + "=" + " " + factorial);
      factorial = 1;
    }
  }
}
于 2013-10-24T03:40:01.570 に答える