Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

Array.prototype.flatMap

Применяет функцию к каждому элементу и раскрывает результат на один уровень.

Доступно с: ES2019

Синтаксис

array.flatMap(callbackFn)

Параметры

ПараметрТипОписание
callbackFnFunctionФункция, которая возвращает значение или массив значений для каждого элемента.

Возвращаемое значение

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: преобразование, отбор и сведение к одному значению.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.