概念:陣列扁平化是指將乙個多維陣列變為一維陣列
思想:遍歷陣列每一項,如果該項為陣列,
方法總結
let arr =[1
,2,3
,['a',
'b'],[
[4],
[[[5
,6],
'c']]]
]
array.prototype.flat
const arr1 =[0
,1,2
,[3,
4]];
console.
log(arr1.
flat()
);// expected output: [0, 1, 2, 3, 4]
const arr2 =[0
,1,2
,[[[
3,4]
]]];
console.
log(arr2.
flat(2
));//flat 可以指定層數 ,預設為1
// expected output: [0, 1, 2, [3, 4]]
當然,好的東西一定會有相容性,ie不支援。
array.some + array.cancat
function
flat
(arr)
return arr
}console.
log(
flat
(arr));
//[1, 2, 3, 'a', 'b',4, 5, 6, 'c']
arrary.reduce + array.concat
function
flat
(arr),[
])return newarr
}console.
log(
flat
(arr)
);
es5遞迴
// es5
let newarr =
function
flat
(arr)
else}}
flat
(arr)
console.
log(newarr)
;
js 陣列扁平化
陣列扁平化是指將乙個多維陣列變為一維陣列 遍歷陣列arr,若arr i 為陣列則遞迴遍歷,直至arr i 不為陣列然後與之前的結果concat 遍歷陣列每一項,若值為陣列則遞迴遍歷,否則concat。function flatten arr 1,2,3,4,5 1,2,3,4,5 2.1.reduc...
js陣列扁平化
所謂陣列扁平化,就是將乙個二維或多維陣列轉換為一維陣列。比如將 1,2 3,4,5 轉化為 1,2,3,4,5 1 首先想到設定乙個空陣列,如果原陣列中的每一項不是陣列,直接push進去,如果是陣列,就與這個空陣列進行連線 實現 let flatarr arr else return result ...
JS 陣列扁平化
假如有乙個陣列 var arr 1,2,3,4 我們怎麼能把arr變成 1,2,3,4 呢?即讓多維陣列降維,轉換為只有一層的陣列。1.迴圈陣列 遞迴 function flatten arr else return result flatten arr 1,2,3,4 var arr 1 2,3,...