問題は、forループの後に配列データがどのように消えたかです。JS内のfor-loopの後に配列データがありません
説明最初に、変数 "bra_data"は "6!"のような文字列を受け取ります。または任意の「x!」または「x演算子y」形式の任意の数学演算子次に、配列に分割されます。
var bra_data = bra_data.split(" "); //bra data array
インデックスを使用して、iを数式演算子を含む配列アイテムに設定します。次に、配列のインデックスを使用して
if(bra_data.indexOf("!")!=-1) {
i = bra_data.indexOf("!");
}
、答えは処理されます。
var x = (bra_data[i - 1] * 1);
var i, x_fact;
x_fact = 1;
alert(bra_data[i - 1]); //A
alert(bra_data[i]); //B
for (i = 1; i <= x; i++) {
x_fact = x_fact * i;
}
alert(bra_data[i - 1]); //C
// Cで処理した後、配列項目に「未定義」と警告する理由は?
確かに最初の行でエラーが発生するはずです。 'i'をセットしていない限り、あなたのコードには含めません。前に 'i'を設定すると、forループでリセットされます。 – putvande
あなたの変数 'i'を見てください。 – jmugz3
1)' i'を使用する前に値を与えていません。 2) 'x'はある種のマジックナンバーに割り当てられているようです。 3)あなたが実際にやろうとしていることを教えていない。 –