SOURCE

const arr = [[1, 2], [3, 4], [6, 7, [11, 12, [12, 13, [14]]]], 10];


Array.prototype.flatNew = function (num) {
    let result = [...this];

    while (num > 0) {
        result = result.reduce((total, current) => {
            if (Array.isArray(current)) {
                total = total.concat(current);
            } else {
                total.push(current);
            }
            return total;
        }, [])

        num--;
    }

    return result;
}




// console.log(arr.flatNew(1)); //[1,2,3,4,6,7,[11, 12, [12, 13, [14]]]], 10];
// console.log(arr.flatNew(2)); //[1,2,3,4,6,7,11,12,[12, 13, [14]], 10];
console.log(arr.flatNew(3)); //[1,2,3,4,6,7,11,12,12,13, [14], 10];

            
console 命令行工具 X clear

                    
>
console