【随時更新】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

     

    まとめ

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