JS 陣列篇 多維陣列扁平化

2021-10-10 20:35:41 字數 1201 閱讀 3108

概念:陣列扁平化是指將乙個多維陣列變為一維陣列

思想:遍歷陣列每一項,如果該項為陣列,

方法總結

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,...