Вопрос проверяет понимание методов flat() и flatMap() для работы с вложенными массивами в JavaScript.
Метод 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
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию