js自用学习笔记-数组扁平化

183 阅读1分钟

数组扁平化

const arr = [1,2,3,[4,4.1],5,[6,6.1,[6.11],6.2],7]

方法一 float

        const res1 = arr.flat(Infinity)
        console.log(res1)

方法二 利用正则

        const res2 = JSON.stringify(arr).replace(/\[|\]/g,'').split(',')
        console.log(res2)

方法三 正则改良

        const res3 = JSON.parse('['+JSON.stringify(arr).replace(/\[|\]/g,'').split(',')+']')
        console.log(res3)

方法四 reduce

       const flatten = arr =>{
           return arr.reduce((pre,cur)=>{
               return pre.concat(Array.isArray(cur)?flatten(cur):cur)
           },[])
       }
       const res4 = flatten(arr)
       console.log(res4)