(JS) 반복적으로 배열 평탄화 하기

호두파파·2021년 2월 28일
0

(JS) 함수

목록 보기
9/10

재귀를 이용해 배열 평탄화하기

첫 번째 예제

function flattenArray(array) {
  return array.reduce((result, x) => result.concat(
    Array.isArray(x) ? flattenArray(x) : x), [])
}

두 번째 예제

mixedArray = [1, 2, [3, 4], [[5, 6], 7], 8, 9];
function flattenArray(array) {
  return array.reduce((flat, val) => {
    if(typeof val !== "number") {
      return [...flat, ...flattenArray(val)];
    } else {
      return [...flat, val];
    }
  },[]);
}

위 코드를 if ... else대신 삼항 연산자를 사용할 수 있다.

mixedArray = [1, 2, [3, 4], [[5, 6], 7], 8, 9];
const flattenArray = array =>
    array.reduce( (flat, val) => 
        [...flat, ...(Array.isArray(val) ? flattenArray(val) : [val])]
    , []);
     
profile
안녕하세요 주니어 프론트엔드 개발자 양윤성입니다.

0개의 댓글