陣列扁平化
const a = [[1], [3, [4, 5, [6, 7]]], [8], [9, [2, 10]]]
方法1:遞迴
迴圈陣列元素,如果還是乙個陣列,就遞迴呼叫該方法
function flatten1(arr) else {
//注意concat 和push 方法的返回值不同
//res=res.concat(arr[i]);
res.push(ary[i])
return res;
方法2:
使用reduce來簡化方法1的**:
function flatten2(arr){
return arr.reduce((prev, cur) => prev.concat(array.isarray(cur) ? flatten2(cur) : cur),)
方法3:
tostring方法轉成字串,split方法把字串切割成陣列,字串拼接方法
function flatten3(arr){
return arr.tostring().split(',').map(item=> +item)
方法4:
some則當其中乙個返回true,則最終結果為true, 相當於邏輯運算子||。
function flatten4(arr){
while(arr.some(item => array.isarray(item))){
arr = .concat(...arr);
return arr;
方法5:
every方法表示當陣列每個元素在判定函式中都返回true,則最終結果為true,相當於邏輯運算子 &&
function flatten5(arr) {
while (!arr.every(item => typeof item === 'number' && !isnan(item))) {
arr = .concat(...arr);
console.log(arr);
return arr;
console.log(...a)
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,...