質問: 1; i <= max; i++) { console.log([F+B,0,0,F,0,B,F,0,0,F,B,0,F,0,0][i % 15] || i); } } ```
回答: まず`[F+B,0,0,F,0,B,F,0,0,F,B,0,F,0,0]`はFizzBuzzの0から14に対する結果を収めた配列です。 次にこの配列から`i % 15`番目の要素(`value`)を取り出しています。 最後に`|| i`ですが、JavaScriptの`||`演算子は左辺が`true`と見なせる場合は左辺の値を、そうでなければ右辺の値を返す操作ですので`0 || i`は`i`になります。 ですので23行の内容は冗長に書くと以下のような処理になります。 ``` var array = [F+B,0,0,F,0,B,F,0,0,F,B,0,F,0,0]; var value = array[i % 15]; if (value !== 0) { console.log(value); } else { console.log(i); } ```