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]