Create a function called flatten that produces a new array by merging all nested arrays into a single, flat array.
🔗 Flatten 🟡 Medium🧩 Pattern – JavaScript Essentials
Related: Flatten Deeply Nested Array – 2625 | Matrixread
Recursive Code
/**
* @param {Array<*|Array>} value
* @return {Array}
*/
export default function flatten(value) {
const result = [];
value.forEach((item) => {
if (Array.isArray(item)) {
result.push(...flatten(item));
} else {
result.push(item);
}
});
return result;
}Code language: JavaScript (javascript)Using Reduce
/**
* @param {Array<*|Array>} value
* @return {Array}
*/
export default function flatten(value) {
return value.reduce(
(acc, current) =>
acc.concat(Array.isArray(current) ? flatten(current) : current),
[],
);
}Code language: JavaScript (javascript)