Flattening arrays using reduce method Javasript
let input = [1, [2, [3, 4]], 5];
let output = input.reduce((acc, curr) => {
if (Array.isArray(curr)) {
acc = acc.concat(curr.reduce((a, c) => a.concat(c), []));
} else {
acc.push(curr);
}
return acc;
}, []);
console.log(output); // Output: [1, 2, 3, 4, 5]