【随時更新】javascriptのオリジナル関数まとめ - inokawablog

【随時更新】javascriptのオリジナル関数まとめ

個人的にいいな・便利だなと思ったオリジナル関数や面白いものをまとめておく。

 

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

 

まとめ

面白いのを見つけたらまた追加します。