js 陣列扁平化

2021-09-07 19:42:21 字數 1056 閱讀 7993

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

遍歷陣列arr,若arr[i]為陣列則遞迴遍歷,直至arr[i]不為陣列然後與之前的結果concat

遍歷陣列每一項,若值為陣列則遞迴遍歷,否則concat。

function flatten(arr) , );

}

// [1, [2, 3, [4, 5]]]------> [1, 2, 3, 4, 5]

2.1.reduce 遍歷陣列每一項,若值為陣列則遞迴遍歷,否則concat。

, );

}console.log(flatten(array))

}

2.2 tostring & split 呼叫陣列的tostring方法,將陣列變為字串然後再用split分割還原為陣列

)

}console.log(flatten(array))

// 因為split分割後形成的陣列的每一項值為字串,所以需要用乙個map方法遍歷陣列將其每一項轉換為數值型

}

2.3 join & split 和上面的tostring一樣,join也可以將陣列轉換為字串

)

}console.log(flatten(array))

}

2.4 遞迴

else 

});return res;

}console.log(flatten(array))

} else

}return newarr;

}console.log(flatten(array))

}

2.5 擴充套件運算子

es6的擴充套件運算子能將二維陣列變為一維

根據這個結果我們可以做乙個遍歷,若arr中含有陣列則使用一次擴充套件運算子,直至沒有為止。

return arr;

}console.log(flatten(array))

}

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

js陣列扁平化

陣列的扁平化,就是將乙個巢狀多層的陣列 array 巢狀可以是任何層數 轉換為只有一層的陣列。var arr 1 2,3,4 扁平化之後 1,2,3,4 實現基本方式 1.reduce 遍歷陣列每一項,若值為陣列則遞迴遍歷,否則concat。function flatten arr 2.tostri...