# Метод flat

Метод `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`,
  который возвращает массив из элементов после применения функции

← →
↑
en ru