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



Чат с GPT Компилятор