// // 第一种方法 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