最近書いたES2015+を駆使したJavaScriptのFizzBuzz③

tech-1natsu.hatenablog.com

↑前回

前回、とにかく短縮という気持ちでやっていたけど、わかりやすさという面を考慮すると全然わかりにくかったので、可読性も意識してちょっと変えた。

可読性考慮したFizzBuzz👇

// range関数
const range = (start, end) => [...Array(1 + end - start)].map((v, i) => start + i)

const fizzbuzzReturner = num => (num%3 ? '' : 'fizz') + (num%5 ? '' : 'buzz') || num

const fizzbuzzArray = range(1,100).map(v => fizzbuzzReturner(v))

console.log(fizzbuzzArray)

前回はRange関数省いてArray.map()の第一引数をインクリメントするという狂った方法でやっていたので、素直にRange関数作って1~100の配列作るようにした。

TypeScriptかFlowで型付けたい気がしてきた。