SOURCE

// // 第一种方法  map
// Array.prototype.flat = function () {
//     const result = this.map(item => {
//         if (Array.isArray(item)) {
//             return item.flat()
//         } else {
//             console.log(item, 'item')
//         }

//         return [item]
//     })
//     return [].concat(...result)
// }
// console.log([1, 2, [5, 6], [[[7]]]].flat())

// 第二种方法  for 
// function flat(arr) {
//     let newArr = []
//     for (let i = 0; i < arr.length; i++) {

//         if (Array.isArray(arr[i])) {
//             newArr.push(...flat(arr[i]))
//         } else {
//             newArr.push(arr[i])
//         }
//     }
//     return newArr
// }
// console.log(flat([[2, 3], 1]))  //[2,3,1]


//第三种方法 some
// function flat(arr) {
//     //只要存在多维数组为真一直循环判断,没找到跳出循环
//     while (arr.some(item =>  Array.isArray(item))) {
//        arr=[].concat(...arr)
//     }
//     return arr
// }

// console.log(flat([[2, 3], [[5, 6], [8]], 9, [[[10, 4]]]]).sort((a, b) => a - b))
//  console.log([1,2,[5,6],[[[7]]]].flat())

console 命令行工具 X clear

                    
>
console