- 递归实现
function flat1(arr) {
let res = []
arr.forEach(v => {
if(Array.isArray(v)) {
res = res.concat(flat1(v))
} else {
res.push(v)
}
})
return res;
}
- 递归+reduce
function flat2(arr) {
return arr.reduce((prev, cur) => {
return prev.concat(Array.isArray(cur) ? flat2(cur) : cur)
}, [])
}
网友评论