// array flatten

var a = [1,2,[3],[4,[5,6]],7,8];
// way 1
function flattern(a) {
    return a.reduce((result,i)=>{
        return result.concat(Array.isArray(i)? flattern(i) : i);
    }, []);
}
// way 2
function flattern(a) {
    var stack = [], result = [];
    stack = stack.concat(a);
    while (stack.length) {
        let i = stack.pop();
        if (Array.isArray(i)) stack = stack.concat(i);
        else result.unshift(i);
    }
    return result;
}
flattern(a);

results matching ""

    No results matching ""