// 拍平数组
let arr = [1, 2, [3, 4, [5, 6, [7, 8]]]]
// let result = Array.prototype.concat.apply([], arr)
// console.log(result)
// 封装如何拍平数组方法
function flat (arr) {
let isDeep = arr.some((item) => item instanceof Array) // 说明有深层次的数组
if (!isDeep) {
return arr // 如果没有深层次的数组的话,直接返回
}
const res = Array.prototype.concat.apply([], arr)
return flat(res) // 递归
}
const result = flat(arr) // 调用flat方法
console.log(result, 'here')