Flatten an Array in JavaScript

const array = [1, [2, [3, [4, 5, 6]]]]

array.flat()  // == array.flat(1)
// [1, 2, [3, [4, 5, 6]]]

array.flat(Infinity)
// [1, 2, 3, 4, 5, 6]

Array.prototype.flatMap combines flat and map

const duplicate = x => [x, x];

[2, 3, 4].map(duplicate);
// [[2, 2], [3, 3], [4, 4]]

[2, 3, 4].map(duplicate).flat();

// or

[2, 3, 4].flatMap(duplicate)