如何實現乙個陣列扁平化函式

2021-09-24 12:16:18 字數 1367 閱讀 9381

1,遞迴

function

flattendeep

(arr)

else})

;return deeparr

}console.

log(

flattendeep([

1,[2

,3,[

4,5]

]]))

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

2,map方法

function

flattendeep2

(arr)

console.

log(

flattendeep([

1,[2

,3,[

4,5]

,7],

[2,3

]]))

3,簡單資料處理。如果原陣列中有字串型別,最終也會轉換成數值型別。

const

flattendeep3

=(data)

=> data.

tostring()

.split

(',').

map(number)

flattendeep3([

1,[2

,[3,

[4]]

,5]]

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

console.

log([1

,[2,

[3,[

4]],

5]].

tostring()

)// 1 2 3 4 5

console.

log([1

,[2,

[3,[

4]],

5]].

tostring()

.split

(','))

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

4,array.prototype.flat() 方法會遞迴到指定深度將所有子陣列連線,並返回乙個新陣列.

function

flattendeep4

(arr, deeplength)

console.

log(

flattendeep4([

1,[2

,[3,

[4]]

,5]]

,3))

;

js 實現陣列扁平化

什麼是陣列扁平化?陣列扁平化就是將乙個多維陣列轉換為乙個一維陣列首先讓我們思考乙個這樣的題目 假如有乙個陣列 var arr 1,2,3,4 我們怎麼能把arr變成 1,2,3,4 呢?即讓多維陣列降維,轉換為只有一層的陣列 如果用過lodash的話,我們知道 flatten 和 flattende...

陣列扁平化(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如何在原生的陣列中實現扁平化函式

1 概念 陣列扁平化 就是將乙個多維陣列變成一維陣列 2 實現方式 方法1 reduce和concat方法 思想 遍歷陣列每一項,如果值是陣列,進行遞迴呼叫 reduce方法 從陣列的第一項開始,逐個遍歷到最後,最終迭代陣列的所有項 concat方法 將接收到的引數新增到陣列的末尾 var arr ...