實現陣列扁平化 flatten 迭代遞迴

2021-09-26 03:30:39 字數 702 閱讀 5701

顧名思義,扁平化就是二維或者多維陣列,轉成一維陣列的過程。

舉個栗子,就是將下列陣列arr1變成陣列arr2

arr1 =[1

,[2,

[3,[

4]],

5]] → arr2 =[1

,2,3

,4,5

]

flatten()flattendepth()flattendeep()都是用於對資料的扁平化處理,不同之處在於扁平化的層級。

----flatten() 是對陣列進行一層扁平化處理。

----flattendeep() 是對陣列完全扁平化處理。

----flattendepth() 是對陣列進行指定層級的扁平化處理。

內部的實現都是基於baseflatten()方法。

還有一種方法,使用es6的陣列方法

function

del(arr1)

console.

log(

del(arr1)

)

陣列扁平化(flatten)實現方案

1,2,3,1,2,3,1,2 1,2,3,1,2,3,1,2 上面的轉換就是陣列的扁平化,將乙個巢狀多層的陣列 array 轉換為只有一層的陣列。下面是實現陣列扁平化的幾種簡單方法。function flatten1 arr flatten2 1,2,3,1,2,3,1,2 1,2,3,1,2,3...

js陣列扁平化 flatten

陣列扁平化 降維過程,多維陣列經過扁平化變成一維陣列 方法有很多,下面只列舉幾種 方法一 es6的 arr.flat infinity 方法會遞迴到指定深度將所有子陣列連線,並返回乙個新陣列,depth指定巢狀陣列中的結構深度,預設值為1,不管多少層則可以用infinity關鍵字作為引數。陣列扁平化...

陣列扁平化

原陣列 const arr 1,2,3,4 5,6,7,8 9 希望輸出 1,2,3,4,5,6,7,8,9 方法一 遞迴 function arrdelayering arr else return newarr let newarr arrdelayering arr 1,2,3,4,5,6,7...