js陣列拍平 陣列扁平化 的六種方式

2022-07-21 17:30:32 字數 686 閱讀 9776

1.陣列拍平也稱陣列扁平化,就是將陣列裡面的陣列開啟,最後合併為乙個陣列

2.實現

var arr = [1,2,[3,4,5,[6,7,8],9],10,[11,12]];

a:遞迴實現

function

fn(arr)

else

})return

arr1

}

b:reduce實現

function

fn(arr),)

}

c:flat 

引數為層數(預設一層)

arr.flat(infinity)

d:擴充套件運算子

function

fn(arr)

else

})if(bstop)

return

fn(arr1)

}

e:tostring

let arr1 = arr.tostring().split(',').map((val)=>)

console.log(arr1)

function

flatten(arr)

return

arr;

}

巢狀陣列拍平(陣列扁平化)

var arr 1,2,3 4,5,6 var arr flat arr.flat infinity flat 預設只會 拉平 一層,如果想要 拉平 多層的巢狀陣列,可以將flat 方法的引數寫成乙個整數,表示想要拉平的層數,預設為1。如果不管有多少層巢狀,都要轉成一維陣列,可以用infinity關...

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