(underscore.js) _.flatten

호두파파·2021년 3월 1일
0

underScore.js

목록 보기
9/9

_.flatten

_.flatten(array,[isDeep])
  • input : nested array(다차원 배열, 배열안 에 배열이 있는 배열)
  • output : 결과 array

nested array 즉, 여러 층으로 만들어진 array를 하나의 층 즉, 하나의 array의 정도는 중요하지 않으나 Shallow에 true값이 부여되면, single level로 통일된다.

예제

//배열 안의 배열 값을 순서대로 나열합니다.(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;
  };
profile
안녕하세요 주니어 프론트엔드 개발자 양윤성입니다.

0개의 댓글