1. 递归的方法实现
// 使用递归的方法实现
let arr = [1, 3, 5, [24, 52], 2, [23, [3, [6], 7], 2]]
function _flat(arr, deepth) {
if (!Array.isArray(arr) || deepth <= 0) {
return arr
}
return arr.reduce((prev, cur) => {
if (typeof cur === "object") {
return prev.concat(_flat(cur, deepth - 1))
} else {
return prev.concat(cur)
}
}, [])
}
console.log(_flat(arr, 4));