Метод flat - уменьшение уровней вложенности массива на JavaScript
Метод flat
уменьшает уровень
вложенности многомерного массива.
Может либо делать массив одномерным,
либо уменьшать мерность на заданное
значение.
Синтаксис
let newArray = массив.flat(уровень подъема);
Пример
Давайте получим новый массив, не указывая в параметре никакого значения:
let arr = ['a', 'b', ['c', 'd']];
let res = arr.flat();
console.log(res);
В результате выполнения кода мы увидим, что подмассивы поднялись на один уровень:
['a', 'b', 'c', 'd']
Пример
А теперь давайте применим метод
flat
к массиву с двумя уровнями
вложенности:
let arr = ['a', 'b', ['c', 'd', ['e', 'f']]];
let res = arr.flat();
console.log(res);
Результат выполнения кода:
['a', 'b', 'c', 'd', ['e', 'f']]
Пример
Давайте укажем уровень вложенности:
let arr = ['a', 'b', ['c', 'd', ['e', 'f']]];
let res = arr.flat(2);
console.log(res);
Результат выполнения кода:
['a', 'b', 'c', 'd', 'e', 'f']
Пример
Если мы хотим не заморачиваться с уровнем вложенности,
а объединить весь массив, то используем параметр Infinity
:
let arr = ['a', 'b', ['c', 'd', ['e', 'f', ['g', 'h', ['i']]]]];
let res = arr.flat(Infinity);
console.log(res);
Результат выполнения кода:
[
'a', 'b', 'c',
'd', 'e', 'f',
'g', 'h', 'i'
]
Смотрите также
-
метод
flatMap
,
который возвращает массив из элементов после применения функции