個人的にいいな・便利だなと思ったオリジナル関数や面白いものをまとめておく。
0-nまでの配列を作成
[...Array(n).keys()]
Arrayを使ってFizzBuzz
Arrayは0~nまでを作成するのでnより1大きい配列を作り1~nまでをspliceで切り取ることで1~nまでの配列を作る。そしてmapを使いそれぞれの値をチェックしていきresultに格納する
ワンライナー
const result = [...Array(n+1).keys()].splice(1, n).map(i => { return (i % 3 == 0 ? 'Fizz' : '') + (i % 5 == 0 ? 'Buzz' : '') || i })
ワンライナーは見づらいので分解
function runFizzBuzz(n) {
const result = [...Array(n+1).keys()].splice(1, n).map(i => checkFizzBuzz(i));
console.log(result);
}
function checkFizzBuzz(n) {
if (num%15 === 0) return 'fizzbuzz';
else if (num%3 === 0) return 'fizz';
else if (num%5 === 0) return 'buzz;'
else return num;
}
runFizzBuzz(50);
配列の合計値
[1,2,3,4,5].reduce((accumulator, currentValue, currentIndex, array) => { return accumulator + currentValue } )
迷路の最短距離
幅優先探索というもの。なかなか理解するのに時間がかかった。総当たりで経路探索をしている。
https://stackoverflow.com/questions/46393411/find-the-shortest-path-from-the-mazebreadth-first-search
まとめ
面白いのを見つけたらまた追加します。