자바스크립트 ) Flatten, Unflatten

Jeong-Taek·2022년 10월 21일
0

Flatten

자바스크립트에서 Flatten은 배열 구조 안에 또 다른 배열을 인덱스로 가질 때, array를 평평하게 만드는 작업이다.

Array의 메서드인 flat()함수를 사용한다.

flat()메서드는 모든 하위 배열 요소를 지정한 깊이까지 재귀적으로 이어붙인 새로운 배열을 생성한다.

예시를보자.

const arr1 = [1, 2, [3, 4]];
arr1.flat();
// [1, 2, 3, 4]

const arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat();
// [1, 2, 3, 4, [5, 6]]

const arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]

const arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];
arr4.flat(Infinity);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

arr1은 [,,[]] 구조라 flat()을 한번만 하면 [3,4]이 평탄화됨.
arr2는 배열구조안에 배열이 또 그배열안에 배열이 있는 구조이므로 flat()을 한번 실행하면 배열안에 있는 배열이 평탄화 되고, 그 결과를 한번 더 flat()을 실행하면 배열안에 배열아네 배열이 평탄화 된다. 몇개의 배열이 중첩되어있는지 확인하고 메서드를 사용하면 평탄화는 어렵지 않음.

Unflatten

Unfaltten은 flatten과 반대로 배열을 중첩시켜주는 기능이다.

1개의 댓글

comment-user-thumbnail
2022년 10월 21일

밑에서 6 번째 줄 오타났어요. 평탕화 -> 평탄화

답글 달기