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