[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, 1, 2]
function flatten3(arr),)
}flatten3([1,2,3,[1,2,3,[1,2]]])//[1, 2, 3, 1, 2, 3, 1, 2]
function flatten4(arr)
flatten4([1,2,3,[1,2,3,[1,2]]])//[1, 2, 3, 1, 2, 3, 1, 2]
會按照乙個可指定的深度遞迴遍歷陣列,並將所有元素與遍歷到的子陣列中的元素合併為乙個新陣列返回。
//infinity 無窮大, -infinity無窮小
function flatten5(arr)
flatten5([1,2,3,[1,2,3,[1,2]]])//[1, 2, 3, 1, 2, 3, 1, 2]
function flatten6(arr)
flatten6([1,2,3,[1,2,3,[1,2]]])//[1, 2, 3, 1, 2, 3, 1, 2]
js陣列扁平化 flatten
陣列扁平化 降維過程,多維陣列經過扁平化變成一維陣列 方法有很多,下面只列舉幾種 方法一 es6的 arr.flat infinity 方法會遞迴到指定深度將所有子陣列連線,並返回乙個新陣列,depth指定巢狀陣列中的結構深度,預設值為1,不管多少層則可以用infinity關鍵字作為引數。陣列扁平化...
實現陣列扁平化 flatten 迭代遞迴
顧名思義,扁平化就是二維或者多維陣列,轉成一維陣列的過程。舉個栗子,就是將下列陣列arr1變成陣列arr2 arr1 1 2,3,4 5 arr2 1 2,3 4,5 flatten flattendepth flattendeep 都是用於對資料的扁平化處理,不同之處在於扁平化的層級。flatte...
陣列扁平化
原陣列 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...