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.