es6之陣列的flat ,flatMap

2021-09-26 07:56:01 字數 726 閱讀 7075

陣列的成員有時還是陣列,array.prototype.flat()用於將巢狀的陣列「拉平」,變成一維陣列。該方法返回乙個新陣列,對原資料沒有影響。

[1, 2, [3, 4]].flat()

// [1, 2, 3, 4]12

上面**中,原陣列的成員裡面有乙個陣列,flat()方法將子陣列的成員取出來,新增在原來的位置。

flat()預設只會「拉平」一層,如果想要「拉平」多層的巢狀陣列,可以將flat()方法的引數寫成乙個整數,表示想要拉平的層數,預設為1。

[1, 2, [3, [4, 5]]].flat()

// [1, 2, 3, [4, 5]]

[1, 2, [3, [4, 5]]].flat(2)

// [1, 2, 3, 4, 5]12

34上面**中,flat()的引數為2,表示要拉平兩層的巢狀陣列。

如果不管有多少層巢狀,都要轉成一維陣列,可以用infinity關鍵字作為引數。

[1, [2, [3]]].flat(infinity)

// [1, 2, 3]12

如果原陣列有空位,flat()方法會跳過空位。

[1, 2, , 4, 5].flat()

// [1, 2, 4, 5]12

flatmap()方法對原陣列的每個成員執行乙個函式,相當於執行array.prototype.map(),然後對返回值組成的陣列執行flat()方法。該方法返回乙個新陣列,不改變原陣列。

ES6之陣列操作

es6中對於陣列操作新增了4種方法 1.map 對映 乙個對應乙個 2.reduce 彙總 多個出來乙個 3.filter 過濾 4.foreach 迭代 迴圈。直接上 理解的更快 返回結果 上面的 表示 arr 裡面的元素,每個都乘以2,即每個元素都執行該方法。這個理解起來可能比map要略微複雜一...

ES6之陣列的擴充套件

es6在陣列方面增加了一些方法和原型屬性,有些還是蠻有用的。擴充套件運算子 把陣列或者類陣列轉成用逗號隔開的引數 把類陣列轉成陣列,有限制 類陣列就是有長度的變數 var str wade console.log str w a d e 把陣列轉成用逗號隔開的引數序列 var arr 1,2,3 c...

es6之陣列的flat ,flatMap

注意 瀏覽器相容問題 陣列的成員有時還是陣列,array.prototype.flat 用於將巢狀的陣列 拉平 變成一維陣列。該方法返回乙個新陣列,對原資料沒有影響。1,2,3,4 flat 1,2,3,4 上面 中,原陣列的成員裡面有乙個陣列,flat 方法將子陣列的成員取出來,新增在原來的位置。...