【JS】JavaScriptで世界で一番クールなFizzBuzzと二番目のFizzBuzz
こんにちは!今日はエンジニアなら誰もが知ってるFizzBuzzをJavaScriptで書きたいと思います!
書くだけだと二番煎じなので、めっちゃクールに書きます。可読性?知らん
世界で一番クールなFizzBuzz
どうぞ。
const r = i =>
console.log(
(i % 3 ? '' : 'Fizz')
+ (i % 5 ? '' : 'Buzz')
+ (i % 3 && i % 5 ? i : '')
)
|| i - 100
&& r(i + 1)
r(1)
解説
再帰式を用いて関数rを100回実行しています。
console.logで3,5,15の倍数でF,B,FBを出力してます。
console.logは戻り値がfalsyなので、||で次に繋がります。
次のi - 100がtrue、つまりi == 100ならループ終了、 それ以外ならiを1足して再帰です。
世界で二番クールなFizzBuzz
どうぞ。
const r = _ =>
[... Array(100)].map((_, i) =>
console.log(
(i % 3 - 2 ? '' : 'Fizz')
+ (i % 5 - 4 ? '' : 'Buzz')
+ (i % 3 - 2 && i % 5 - 4 ? i + 1: '')
))
r()
解説
こちらは関数の実行は1回のみですが、長さ100の配列にmapしてconsole.logを100回出しています。
[... Array(100)]でmapできる長さ100の配列を生成、
console.log部分は上に同じですが、1が0から始まる都合上少々表記が冗長になっています。
使いどころ
...エンジニア同士の会話?の時にどうぞ。まあFizzBuzzはそういうもんだよね。
クールの定義って?
それはもう、短いか、最近の書き方してるか、記号ばっかになってないか?じゃないですかね、うん?
PREV
2019-05-18
【JS】JavaScriptでRange関数(Pythonのと全く同じ振る舞い)
NEXT
2019-05-20
【JS】NuxtのVuexモジュールモードの簡潔な書き方メモ-1.ストア
LINK
リンク
Twitter
GitHub
TAGS
タグ
LATESTS
最新の記事
POPULAR
人気の記事
- CSS2021/04/29【CSS】右寄せの方法は結局flexが一番良さそう
- React2020/07/13【JS】Reactのstyleの使い方、書き方いろいろ
- Payment2021/10/16GooglePayでVisaタッチを使う時に知っておきたい過酷な現実【追記あり】
- Others2021/07/11Slackに予約投稿機能ができて嬉しいけどそれでもまだ少し不満な理由【追記あり】
- CSS2020/04/30【CSS】tailwind.cssでよく使うデザインパターン
- CSS2019/03/30【CSS】100vhは「一画面」ではないという罠
- CSS2020/06/09【CSS】max-font-sizeやmin-font-sizeを使いたくなったら
- Vue2019/06/29【JS】Vueの:classの書き方3通り
- JavaScript2020/09/02【JS】yarnの長所とyarnからnpmに戻ってきた理由
- React2020/06/04【JS】ReactのclassNameの色々な書き方紹介