var arr=[[1,2],[3,[4,5],6]]
// 方法一 硬写
function f1(tree,res){
if(Array.isArray(tree)){
for(let i=0;i<tree.length;i++){
f1(tree[i],res)
}
}else{
res.push(tree)
}
return res
}
f1(arr,[])
//方法二 Generator函数
function *f2(tree){
if(Array.isArray(tree)){
for(let i=0;i<tree.length;i++){
yield *f2(tree[i])
}
}else{
yield tree
}
}
[...f2(arr)]
//方法三 ES6数组api
arr.flat(Infinity)
展开嵌套数组的方法
最新推荐文章于 2024-10-06 22:47:23 发布
本文探讨了数组扁平化的三种高效方法:递归遍历、Generator函数与ES6的flat方法。通过实例代码,详细讲解了每种方法的实现原理及应用场景,为开发者提供了实用的数组操作技巧。

529

被折叠的 条评论
为什么被折叠?



