(underscore.js) _.flatten


_.flatten
_.flatten(array,[isDeep])
  • input:Nested Array(多次元配列の配列)
  • 出力:結果配列
  • ネストされた配列は、複数の層で作成される配列を1つの層として使用します.つまり、配列の程度は重要ではありませんが、Shallowに真の値が与えられると、1つのレベルに統一されます.
    //배열 안의 배열 값을 순서대로 나열합니다.(1depth 만)
    _.flatten([1, [2, 3,[4]]]]);
    // → [1, 2, 3, [4]]
    
    // 배열 안의 배열 값을 깊이와 상관없이 순서대로 나열합니다.
    _.flatten([1, [2, 3, [4]]], true);
    // → [1, 2, 3, 4]
    インプリメンテーション関数
    _.flatten = function (nestedArray) {
        let answer = [];
        for(let i = 0; i < nestedArray.length; i++) {
          let value = nestedArray[i]
          !Array.isArray(value) ? answer.push(value) : answer =  answer.concat(_.flatten(value));
        }
        return answer;
      };