SOURCE

console.clear();

let result=[];
function format(arr) {
    for (let i = 0; i < arr.length; i++) {
        if (Array.isArray(arr[i])) {
            format(arr[i]);
        }else{
            result.push(arr[i])
        }
    }
    return result;
}
console.log(format([1, 2, [3, [4, 5]]]))


/*
* [].concat(...[1, 2, [3, [4, 5]]]);  // [1, 2, 3, [4, 5]]
    可以将二维数组变一维
*/
function flatten(arr) {
    //循环判断数组里有没有含有数组元素 有就arr = [].concat(...arr)
    //不断循环直到只有一维数组
    while(arr.some(item=>Array.isArray(item))) {
        arr = [].concat(...arr);
    }
    return arr;
}

console.log(flatten([1, 2, [3, [4, 5]]]))
console 命令行工具 X clear

                    
>
console