首頁 > web前端 > 前端問答 > es6二維數組怎麼轉一維數組

es6二維數組怎麼轉一維數組

WBOY
發布: 2022-04-25 16:57:49
原創
3288 人瀏覽過

在es6中,可以利用flat()方法將二維數組轉為一維數組,該方法會預設「拉平」一層數組,可以利用參數設定要轉換的層數,該方法只傳回一個新的數組,不會更改原數組,語法為「二維數組.flat()」。

es6二維數組怎麼轉一維數組

本教學操作環境:windows10系統、ECMAScript 6.0版、Dell G3電腦。

es6二維陣列怎麼轉一維陣列

#方法:flat();可接受參數2,3,4.....,Infinity;

flat ():

1.負責將多維數組--->一維數組。此方法傳回一個新的數組,對原始資料沒有影響。

[1,2,[2,3],[2,2]].flat()
//[1, 2, 2, 3, 2, 2]
登入後複製

2.flat()預設只會「平整」一層,預設為1,如果想要「拉平」多層的嵌套數組,可以將flat()方法的參數寫成整數,表示想要拉平的層數。

[1, 2, [3, [4, 5]]].flat()
// [1, 2, 3, [4, 5]]
[1, 2, [3, [4, 5]]].flat(2)
// [1, 2, 3, 4, 5]
登入後複製

3.如果不管有多少層嵌套,都要轉成一維數組,可以用Infinity關鍵字當參數。

如果原始數組有空位,flat()方法會跳過空位。

[1, [2, [3,4]]].flat(Infinity)
// [1, 2, 3, 4]
[1, 2, , 4, 5].flat()
// [1, 2, 4, 5]
登入後複製

範例如下:

        const a = [1, 2, 3, 4, 3];
 
        const b = [3, 4, [5, 6]];
 
        const c = [3, 4, [5, 6, [7, 8]]];
 
        // 不传默认是二维数组降一维数组
        console.log(a.concat(b).flat());  // 打印为[1, 2, 3, 4, 3, 3, 4, 5, 6]
 
        console.log(a.concat(c).flat(3))  // 打印为[1, 2, 3, 4, 3, 3, 4, 5, 6, 7, 8]
 
        // 如果数组嵌套太过复杂可直接传值Infinity
        console.log(a.concat(c).flat(Infinity)) // 打印为[1, 2, 3, 4, 3, 3, 4, 5, 6, 7, 8]
登入後複製

【相關推薦:javascript影片教學web前端

#

以上是es6二維數組怎麼轉一維數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
es6
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板