// 数组扁平化
// 递归
const flat = (arr) => {
let res = []
arr.map(item => {
res = res.concat(Array.isArray(item) ? flat(item) : item)
})
return res
}
// 栈
// const flat = (arr) => {
// let res = [], stack = []
// stack.push(arr)
// while(stack.length){
// const arr = stack.pop()
// arr.forEach(val => {
// if(Array.isArray(val)){
// stack.push(val)
// }else{
// res.push(val)
// }
// })
// }
// return res
// }
// reduce + 递归
// const flat = (arr) => {
// return arr.reduce((acc, curr) => {
// return acc.concat(Array.isArray(curr) ? flat(curr) : curr)
// }, [])
// }
console.log(flat([1, 2, [3, [4, 5, 6]]]))
console