顧名思義,扁平化就是二維或者多維陣列,轉成一維陣列的過程。
舉個栗子,就是將下列陣列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...