Массив FlatMap

FlatMap - это единственный метод, который можно использовать для методов flat и map.

Как вы знаете flat(), сглаживание 1 уровня в глубину и map() для зацикливания в массиве.

Если мы включили оба, мы вызвали flatMap() 😉

Таким образом, вместо вызова двух методов flat() и map() вы можете использовать один метод с именем flatMap().

let plants = ['💐', '🌲', '🌻', '🌹'];
// ❌ map + flat
plants.map(plant => [plant, '🍁']).flat();
// Output
//["💐", "🍁", "🌲", "🍁", "🌻", "🍁", "🌹", "🍁"]
// ✅ flatMap
plants.flatMap(plant => [plant, "🍁"])
// Output
// ["💐", "🍁", "🌲", "🍁", "🌻", "🍁", "🌹", "🍁"]

Как работает flatMap ()?

📝 FlatMap () всегда сначала выполняет map (), а затем flat ().

В flat() мы используем для передачи аргументов, в которых вы устанавливаете глубину, аргументы определяют, насколько глубоко вложенный массив должен быть сглажен.

let plants = [[["🌻", "🌹"]]];
plants.flat(2);
// ["🌻", "🌹"]

flatMap() выполнять только 1-уровневое выравнивание.

let plants = [[["🌻", "🌹"]]];
plants.flatMap(plant => [plant]);
// [["🌻", "🌹"]]

Фильтр с помощью flatMap 😉

Да, вы также можете выполнить фильтрацию здесь, используя flatMap().

let arr = [5, 4, -3, 20, -4, 18]
arr.flatMap(i => {
  return i < 0 ? [] : [i];
})
// [5, 4, 20, 18]

Ссылка 🧐

Резюме ∑

flatMap() всегда помогает, если вы хотите использовать вместе методы map и flat.

Спасибо, что прочитали статью ❤️

🌟 Twitter | 👩🏻‍💻 suprabha.me | 🌟 Instagram