Use .flat() to flatten nested arrays
const nested = [1, [2, 3], [4, [5, 6]]];
const flat = nested.flat();
console.log(flat); // [1, 2, 3, 4, [5, 6]]
const deepFlat = nested.flat(2);
console.log(deepFlat); // [1, 2, 3, 4, 5, 6]const categories = [
['fruit', ['apple', 'banana']],
['vegetable', ['carrot', 'lettuce']],
['dairy', ['milk', 'cheese']]
];
// Flatten one level
const flattened = categories.flat();
console.log(flattened);
// Flatten all levels
const allFlat = categories.flat(Infinity);
console.log(allFlat);
// FlatMap - map and flatten in one step
const numbers = [1, 2, 3];
const doubled = numbers.flatMap(n => [n, n * 2]);
console.log(doubled);const result = arr.flatMap(item =>
condition ? [item] : []
);const cleaned = arr.flat().filter(Boolean);Avoid recursive functions for simple flattening
// DON'T DO THIS
function flatten(arr) {
return arr.reduce((acc, val) =>
Array.isArray(val) ? acc.concat(flatten(val)) : acc.concat(val), []
);
}✓ Works in all modern browsers (ES2019+)