陣列的扁平化處理是將多維陣列轉換成一維陣列的形式。比如陣列
[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,...