flatten 은 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]
이런식으로 사용할 수 있다.
unflatten은 반대로 배열을 삭제하기 전에 중첩된 배열들을 뜻한다.
basic_json unflatten() const;