Array.flat()

Array.flat() - створює новий масив який містить всі елементи вкладених масивів до вказаної глибини.

Синтаксис:

Array.flat( depth );

Параметри:

Array - об'єкт Array.

depth - число яке вказує глибину до якого рівня вкладеності масивів має відбуватись вирівнювання. За замовчуванням 1. Також можна вказати Infinity щоб були 100% усі рівні вкладеності.

Опис:

flat() метод об'єкта Array який повертає новий масив який містить всі елементи вкаладених масивів до вказаної рівня вкладеності.

Метод не підтримують старі браузери так як був доданий у ES2019.

Альтернативою методу flat можна виконати за допомогою reduce() і concat():

var mas=[1,[2.1,2.2],3]; var arr=mas.reduce( function(a, b){return a.concat(b)}, []); alert(arr);

Приклад:

var mas=['1', '2', '3', ['4.1', '4.2']]; if(Array.flat){ var arr=mas.flat(); alert(arr); //['1', '2', '3', '4.1', '4.2'] }else alert('Ваш браузер не підтримує метод flat.'); Приклад масиву з елементами масивів глубиною до 3 рівнів і виклик метода flat на глубину 2 рівнів: var mas=[1, 2, ['3.1', ['3.2.1', '3.2.2']] ]; if([].flat){ mas2=mas.flat(2); alert(mas2); //[1, 2, '3.1', ['3.2.1', '3.2.2'] ] }else alert('Ваш браузер не підтримує метод flat'); Приклад видалення пустих елементів масиву методом flat: var arr=[1, 2, 3, , , , 7, 8]; var mas=arr.flat(); alert( mas ); //[1, 2, 3, 7, 8]