Array.prototype.flatMap
Применяет функцию к каждому элементу и раскрывает результат на один уровень.
Доступно с: ES2019
Синтаксис
array.flatMap(callbackFn)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| callbackFn | Function | Функция, которая возвращает значение или массив значений для каждого элемента. |
Возвращаемое значение
ArrayНовый массив, раскрытый на один уровень.
Примеры
Все слова из нескольких фраз:
const phrases = ['hello world', 'good morning'];
console.log(phrases.flatMap((phrase) => phrase.split(' ')));Результат:
[
"hello",
"world",
"good",
"morning"
]Пустой массив убирает элемент, два элемента — удваивают его:
const numbers = [1, -2, 3];
console.log(numbers.flatMap((n) => (n < 0 ? [] : [n, n])).join(', '));Результат:
1, 1, 3, 3Примечания
Это то же самое, что map() и потом flat(), но за один проход.
См. также
- Array.prototype.map — Создаёт новый массив, преобразуя каждый элемент.
- Array.prototype.flat — Раскрывает вложенные массивы в один.
Вопросы и ответы по теме
В учебнике
- map, filter и reduce — Три главных метода обработки массивов в JavaScript: преобразование, отбор и сведение к одному значению.