[JS] Flatten, Unflatten

0 0 0

Flatten & Unflatten

Flatten은 '평평하게 하다'라는 뜻으로, JavaScript에서는 배열 안에 배열이 있을 때 이를 한 단계로 펼치는 작업을 말합니다.

배열 메서드인 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]

flat()에 값을 넣지 않으면 한 단계만 펼치고, 숫자를 넣으면 그 깊이만큼 펼칩니다. 깊이와 상관없이 모두 펼치려면 Infinity를 넣으면 됩니다.


Unflatten은 Flatten의 반대로, 평평한 구조를 다시 중첩된 구조로 되돌리는 작업입니다.

const arr = [1 , 2, [3, 4]]

Flatten, Unflatten

댓글 0