Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Làm phẳng mảng sâu (Deep Flatten Array) trong JavaScript


Flatten Array (Làm phẳng mảng)

Gộp các mảng lồng nhau thành mảng 1 chiều.

1) concat.apply() (ES5)

<html> <body> <script> var arrays = [1,2,[3,4,[5,6]],9]; var merged = [].concat.apply([], arrays); document.write(merged); </script> </body> </html>

Kết quả

1,2,3,4,5,6,9

Lưu ý: chỉ làm phẳng 1 level. Mảng [5,6] lồng trong [3,4,[5,6]] không được flatten hoàn toàn.

2) array.flat() (ES2019)

Hỗ trợ độ sâu (depth). flat(2) làm phẳng 2 level.

<html> <body> <script> const arrays = [1,2,[2,3,[4,5,[6,9]]]]; const merged = arrays.flat(2); document.write(merged); </script> </body> </html>

Kết quả

1,2,2,3,4,5,6,9

Dùng flat(Infinity) để flatten hoàn toàn mọi độ sâu.