Flatten은 단조롭게 하다
라는 뜻을 갖고 있으며 자바스크립트에서 Flatten은 array 구조 안에 또 다른 array를 인덱스로 가질 때, array를 평평하게 만드는 작업이에요.
Array메소드중 하나인 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]]