当前位置: 代码迷 >> 综合 >> [你必须掌握的] 多种实现 flatten 函数的方法
  详细解决方案

[你必须掌握的] 多种实现 flatten 函数的方法

热度:98   发布时间:2023-11-21 18:17:23.0

arr =[1,2,3,[7,9],[8,9,[10,1]]]

  1. 使用 flat函数本身
arr.flat(Infinity)
  1. 采用 数组字符串特性
arr.join().split(',').map(Number)
  1. 采用 迭代
const flatten=arr=>{
    const result=[]while(arr.some(item=>Array.isArray(item))){
    result.concat(...arr)}return result
}
  1. 采用 es6+写法
const flatten=arr=>arr.reduce((acc,cur)=>(
Array.isArray(cur)?[...acc,...flatten(cur)]:[...acc,cur])
,[])