12年後、タフなコーディングの問題は、私を解決するために



符号化問題
  • 私は事前に決定された機能のリストを構築したいし、動的にリスト
  • にそれらを適用する

    例えば
    const list = [1,2,3,4,5,6,7,8,9,10];
    
    function under8(i) { return i < 8 }
    function over3(i) { return i > 3 }
    function under6(i) { return i < 6 }
    function over4(i) { return i > 4 }
    
    let fns = []
    
    // accumulate the list of functions to apply
    fns = [under8, over3, under6, over4]
    
    let filteredList;
    
    // build a program that generates a filtered array from list
    
    // Testing the program
    console.log(filteredList) // -> 5
    

    以上の思考の1つだけの試合の後、ソリューションは私をヒット!
    filteredList = fns.reduce((acc, fn) => {
      return acc.filter(fn)
    }, list)
    

    動作方法
  • 関数の配列は
  • を通して繰り返される
  • シーケンスは、10の数字のリストから始まる
  • 各反復は、現在の関数がリスト
  • をフィルタリングするために使用されます
  • リストからの項目の結果として生じるサブセットは、次の反復に通過される.そして、次の機能はフィルタ
  • として適用される
  • の結果は、FilteredList
  • に新しい配列として保存されます
  • は、FNSリスト
  • に加えられた各々の機能によって、フィルタリングされた後の出力である

    このような瞬間は素晴らしい感じ.祝うときにすることができます.
    ありがとう、機能プログラミング.