Массив 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