Flatten
Flatten은 array 구조 안에 또다른 array를 가질때, array를 평평하게 만드는 작업이다.
const arr1 = [1, 2, [3, 4]]
const arr2 = [1, 2, [3, 4, [5, 6]]]
const arr3 = [1, 2, [3, 4, [5, 6]]]
const arr4 = [1, 2, [3, 4, [5, 6[7, 8,[9, 10]]]]]
arr1.flat() // [1, 2, 3, 4]
arr2.flat() // [1, 2, 3, 4, [5, 6]]
arr3.flat(2) // [1, 2, 3, 4, 5, 6]
arr4.flat(Infinity) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
마지막 arr4 처럼 대책없이 많을때는 Infinity를 써주면 해결된다
Unflatten
Flatten과 반대의 의미로 생각하면된다