Flatten, Unflatten


1. Flatten, Unflatten


オブジェクトまたは配列は、要素として別の配列またはオブジェクトを配置できます.
このような他のオブジェクトまたは配列を含むオブジェクト/配列をunflatten object/arrayと呼ぶ.(2列同様)
また、奥行きのないオブジェクト/配列をフラットオブジェクト/配列と呼びます.
アレイの場合、flat()という名前の方法を使用してフラットアレイを作成することができる.
const arr1 = [1, 2, [3, 4]];
arr1.flat();
// [1, 2, 3, 4]

const arr2 = [1, 2, [[3, 4]]]
arr2.flat()
// [1, 2, [3, 4]]
// 괄호 안에 아무것도 입력하지 않으면 flatten 작업을 한 번만 한다.

const arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]
// 괄호 안에 입력한 숫자만큼 flatten 작업을 실행한다.

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]
// 괄호 안에 Infinity를 입력하면 flatten array가 될 때 까지 반복한다.
参考資料