ネストした配列を平坦化する。flatMapはmapとflatを合成
[[1, 2], [3, 4]].flat(); // [1,2,3,4]
[1, [2, [3]]].flat(Infinity); // [1,2,3]
// flatMap: mapしてから1段階flat
[1, 2, 3].flatMap(n => [n, n * 2]);
// [1,2, 2,4, 3,6]flat(Infinity)で深さ無制限に平坦化できる。flatMapはmapしてflatより効率的。