<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          4種數(shù)組扁平化的方式

          共 1149字,需瀏覽 3分鐘

           ·

          2021-06-13 11:40

          什么是數(shù)組扁平化?

          數(shù)組扁平化其實(shí)就是將多維數(shù)組轉(zhuǎn)為一維數(shù)組。今天與你一起來分享4種數(shù)組扁平化的方式。

          方式一:ES6的flat方法

          const arr = [1,[2,[3,[4,5]]],6]//  方法一:數(shù)組自帶的扁平化方法,flat的參數(shù)代表的是需要展開幾層,如果是Infinity的話,就是不過嵌套幾層,全部都展開console.log(arr.flat(Infinity))

          使用的是ES6的flat(),flat方法的參數(shù)可以是n也可以直接寫死Infinity,n代表展開幾層,例如上面的例子是最多是3維數(shù)組,需要展開3層,可以直接寫3

          如果寫的是Infinity的話,就是不管你是多少維數(shù)組,都會直接轉(zhuǎn)為一維數(shù)組

          方式二:使用正則

          const arr = [1,[2,[3,[4,5]]],6]const res = jsON.stringify(arr).replace(/\[|\]/g,'')const res2 = jsON.parse('[' + res + ']')console.log(res2)

          首先是使用JSON.stringify把a(bǔ)rr轉(zhuǎn)為字符串。

          接著使用正則把字符串里面的 [ 和 ]去掉。

          然后再拼接數(shù)組括號轉(zhuǎn)為數(shù)組對象。

          方法三:使用遞歸

          const array = []const  fn = (arr)=>{for(let i = 0;i<arr.length; i++){                if(Array.isArray(arr[i])){                    fn(arr[i])                }                else {                    array.push(arr[i])                }            }      }fn(arr)console.log(array)

          方法四:使用reduce

          const newArr = (arr)=>{     return arr.reduce((pre,cur)=>{          return pre.concat(Array.isArray(cur) ? newArr(cur) : cur)     },[])}console.log(newArr(arr),"reduce方法")

          本文完~


          學(xué)習(xí)更多技能

          請點(diǎn)擊下方公眾號

          瀏覽 39
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久久久国产 | 日本乱伦视频 | 久久影院网红无码视频牛牛夜夜骚 | 操碰亚洲 | 国产福利在线永久视频 |