以前Rubyで記述したコード
Fizzbuzz
def fizz_buzz
num = 1
while (num <= 100) do
if num % 15 == 0
puts "FizzBuzz"
elsif (num % 3) == 0
puts "Fizz"
elsif (num % 5) == 0
puts "Buzz"
else
puts num
end
num = num + 1
end
end
fizz_buzz
FizzBuzz問題の解説
fizz_buzz問題で使用された表現
今回は上記のRubyで取り組んだ過去のコードを参考にして
JavaScriptでFizzbuzz問題にトライしてみた
JavaScriptで記述したコード
以下が作成したコード
Fizzbuzz
for( let i = 1; i <= 100; i ++ ) { // for文を採用
// (初期値; 繰り返しの条件式; 処理の後にされる式)
if( i % 15 === 0 ) { // iを15で割り切る事が出来る数字の時
console.log("FizzBuzz"); // 第1条件の出力結果
} else if ( i % 5 === 0 ) { // iを5で割り切る事が出来る数字の時
console.log("Buzz"); // 第2条件の出力結果
} else if ( i % 3 === 0 ) { // iを3で割り切る事が出来る数字の時
console.log("Fizz"); // 第3条件の出力結果
} else { // 上記のどれともマッチしなかった時の処理
console.log( i ); // その他の出力結果
}
}
デベロッパーツールで確認
上記のコードをhtmlファイルの<script></script>
内に記述して
ブラウザにドラッグアンドドロップ
⌘
+ ⌥
+ J
このコマンドでデベロッパーツールを確認すると
以下のように出力されている
デベロッパーツール
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
・
・・
・・・
1〜100までの数字が順番に出力
「3の倍数」
のときは数字の代わりに文字列でFizz
「5の倍数」
のときも同様にBuzz
3と5の倍数である「15の倍数」
のときはFizzBuzz
と出力
補足
他にも書き方がありそうだと思って
JavaScript FizzBuzz
と調べるとなんとまさかの一行で完成させる方法もあるそうです。
今の私には読み進めても全く解らなかったです。残念…