陣列的扁平化處理

2021-08-28 12:16:25 字數 1202 閱讀 4486

陣列的扁平化處理是將多維陣列轉換成一維陣列的形式。比如陣列

[1, 2, 3, [4, 5], {}, null, [[6, 7], [[[[8]]], 9]]]扁平化處理後——>[1, 2, 3, 4, 5, {}, null, 6, 7, 8, 9]

下面這些方法可以實現陣列的扁平化。

var originarr =[1

,2,3

,[4,

5],,

null,[

[6,7

],[[

[[8]

]],9

]]];

1、迴圈判斷

function

flatten

(arr)

else

}return resultarr;

} array.prototype.

flatten

=function()

else})

;return resultarr;

} [1, 2, 3, 4, 5, , null, 6, 7, 8, 9]

//flatten(originarr):[1, 2, 3, 4, 5, , null, 6, 7, 8, 9]

2、利用reduce方法

//利用reduce方法

function

flatten2

(arr),[

]);}

//es6箭頭函式

var targetarr = originarr.

reduce

((prev, cur)

=>

prev = object.prototype.tostring.

call

(cur)

=='[object array]'

? prev.

concat

(flatten2

(cur)

): prev.

concat

(cur),[

]);//flatten2(originarr):[1, 2, 3, 4, 5, {}, null, 6, 7, 8, 9]

//targetarr:[1, 2, 3, 4, 5, {}, null, 6, 7, 8, 9];

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中陣列扁平化處理

什麼是陣列扁平化?陣列扁平化就是將乙個多維陣列轉換為乙個一維陣列 實現基本方式 1 對陣列的每一項進行遍歷。2 判斷該項是否是陣列。3 如果該項不是陣列則將其直接放進新陣列。4 是陣列則回到1,繼續迭代。5 當陣列遍歷完成,返回這個新陣列。let arr1 1,2,a b 中 文 1,2,3,11,...