Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: flat, flatMap, array, nested array, JavaScript

Как работает flat() и flatMap()? В каких сценариях они применяются?

Вопрос проверяет понимание методов flat() и flatMap() для работы с вложенными массивами в JavaScript.

Короткий ответ

flat() создает новый массив, в котором все элементы подмассивов объединены до указанной глубины. flatMap() сначала применяет функцию к каждому элементу, а затем уплощает результат на один уровень. Оба метода не изменяют исходный массив.

Длинный ответ

Как работают flat() и flatMap()?

Метод flat() используется для преобразования многомерного массива в одномерный. Он принимает необязательный аргумент — глубину вложенности (по умолчанию 1). Если глубина равна Infinity, массив уплощается полностью.

Метод flatMap() сначала применяет колбэк-функцию к каждому элементу массива, а затем уплощает результат на один уровень. Это эквивалентно вызову map().flat(1), но более эффективно.

Примеры кода

const nested = [1, [2, [3, [4]]]];
console.log(nested.flat(2)); // [1, 2, 3, [4]]
console.log(nested.flat(Infinity)); // [1, 2, 3, 4]

const words = ['hello world', 'foo bar'];
const letters = words.flatMap(str => str.split(' '));
console.log(letters); // ['hello', 'world', 'foo', 'bar']

Сценарии применения

  • flat() полезен при работе с данными, полученными из API, где структура может быть вложенной.
  • flatMap() часто используется для трансформации и фильтрации одновременно, например, для разбиения строк или обработки списков с удалением пустых элементов.

Вывод: используйте flat() для простого уплощения массивов, а flatMap() — когда нужно сначала преобразовать каждый элемент, а затем объединить результаты в один плоский массив.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#flat

#flatMap

#array

#nested array

#JavaScript

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию