js中陣列扁平化處理

2021-10-09 08:29:00 字數 1263 閱讀 5755

什麼是陣列扁平化?

陣列扁平化就是將乙個多維陣列轉換為乙個一維陣列

實現基本方式

1、對陣列的每一項進行遍歷。

2、判斷該項是否是陣列。

3、如果該項不是陣列則將其直接放進新陣列。

4、是陣列則回到1,繼續迭代。

5、當陣列遍歷完成,返回這個新陣列。

let arr1 =

[1,2,[

'a','b',[

'中','文',[1,2,3,[11,21,31]]]

],3]

; console.log( arr1.flat( infinity )

);//infinity 為js內建物件是數字無窮大

//[1, 2, "a", "b", "中", "文", 1, 2, 3, 11, 21, 31, 3]

//es6 增加了擴充套件運算子,用於取出引數物件的所有可遍歷屬性,拷貝到當前物件之中:

var arr =

[1, [2, [3, 4]]]

;console.log(

.concat(

...arr))

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

]//我們用這種方法只可以扁平一層,但是順著這個方法一直思考,我們可以寫出這樣的方法:

// 改進

var arr =

[1, [2, [3, 4]]]

;function flatten(arr)

return arr;

}console.log(flatten(arr))

array.prototype.flatten =

function()

, );

}

let arr =

[1, 2, [

"a", "b", [

"中", "文", [1, 2, 3, [11, 21, 31]]]

], 3]

let list=arr.tostring(

).split(

",")

; console.log(list)

; // [

"1", "2", "a", "b", "中", "文", "1", "2", "3", "11", "21", "31", "3"

]

js陣列扁平化處理

陣列扁平化就是將乙個多維陣列轉換為乙個一維陣列 實現基本方式 1 對陣列的每一項進行遍歷。2 判斷該項是否是陣列。3 如果該項不是陣列則將其直接放進新陣列。4 是陣列則回到1,繼續迭代。5 當陣列遍歷完成,返回這個新陣列。array.prototype.flatten function else r...

JS 多維陣列扁平化 處理

多維陣列扁平化 var arr 1,2,3,4,5,6,7 9,10,11 1 方法一 迴圈陣列 遞迴呼叫 function steamroller arr return arr console.log steamroller2 arr 3 方法三 reduce方法 當陣列中還有陣列的話,遞迴呼叫s...

JS 多維陣列扁平化 處理

author mr.live date 2018 01 23 14 55 22 last modified by mr.live last modified time 2018 01 23 14 56 20 多維陣列扁平化 var arr 1,2,3,4,5,6,7 9,10,11 1 方法一 迴圈...