, ,

JavaScript • Манипулирование массивами с помощью flatMap #javascript #js #react #angular #vue #frontend #lifehack #tip #css

Posted by


In JavaScript, the flatMap method is a powerful tool for working with arrays. It can be used to both map over an array and flatten it at the same time. This can be incredibly useful when working with nested arrays or when you need to combine the results of mapping over an array into a single array. In this tutorial, we will explore how to use the flatMap method in JavaScript, as well as some practical examples of where it can be useful.

What is flatMap?

The flatMap method is a combination of map and flat methods in JavaScript. It first maps over an array using a provided function, then flattens the resulting array using one level of flattening. This means that if the mapping function returns an array, flatMap will flatten that array and return the result.

How to use flatMap

The syntax for using the flatMap method is simple. It is called on an array and takes a mapping function as its argument. The mapping function is then applied to each element of the array, and the results are concatenated into a single array.

const arr = [1, 2, 3];

const result = arr.flatMap((num) => [num, num * 2]);

console.log(result); // [1, 2, 2, 4, 3, 6]

In this example, we have an array arr with three elements. We then use flatMap to map over each element, doubling the number, and return a new array using the mapping function (num) => [num, num * 2]. The result is a flattened array [1, 2, 2, 4, 3, 6].

Practical examples of using flatMap

Flatten nested arrays

One common use case for flatMap is flattening nested arrays. For example, if you have an array of arrays and you want to flatten it into a single array, you can use flatMap to achieve this.

const nestedArr = [[1, 2], [3, 4], [5, 6]];

const flattenedArr = nestedArr.flatMap((innerArr) => innerArr);

console.log(flattenedArr); // [1, 2, 3, 4, 5, 6]

In this example, we have an array of arrays nestedArr. We use flatMap to iterate over each inner array and return it as is. The result is a flattened array [1, 2, 3, 4, 5, 6].

Filtering out empty values

You can also use flatMap to filter out empty values from an array. For example, if you have an array with some empty strings and you want to remove them, you can use flatMap with a filtering function.

const arrWithEmptyValues = [1, '', 2, '', 3, ''];

const filteredArr = arrWithEmptyValues.flatMap((val) => val ? val : []);

console.log(filteredArr); // [1, 2, 3]

In this example, we have an array arrWithEmptyValues with some empty strings. We use flatMap to filter out the empty values by checking if the value is truthy, and return it if it is. The result is an array with empty values removed [1, 2, 3].

Conclusion

The flatMap method in JavaScript is a powerful tool for working with arrays. It combines the functionality of map and flat methods, allowing you to map over an array and flatten it in a single step. It can be useful for working with nested arrays, combining mapped results, or filtering out certain values from an array. By understanding how to use flatMap effectively, you can write more concise and expressive code in your JavaScript applications.

0 0 votes
Article Rating

Leave a Reply

17 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@MAGNet1911
3 hours ago

зойчем?

@ЯрославКорнюшенко
3 hours ago

Очень часто??? Ну… Никогда не встречаются, если тебе прислали данные в таком виде, то страшно представить что вообще происходит на проекте

@andrewdefould1453
3 hours ago

только вот обычный флэт может развернуть любую вложенность, а флэтмэп только 1 уровень вложенности, это важный момент, который следовало бы упомянуть)

@maxim2543
3 hours ago

меня про этот метод на собесе спрашивали

@azbest1337
3 hours ago

раскрою тайну небольшую – это всего лишь синтаксический сахар. а еще раскрою другую тайну – методы можно чейнить.

@strateg_usa
3 hours ago

🎉

@FlawlessVictory-j8j
3 hours ago

Просто не делать такие убогие массивы не пробовали?

@sagvel559
3 hours ago

супер, а если название ключа неизвестно?))

@EncarnaciónPeschel
3 hours ago

Спасибо за интересный контент! Есть такой вопрос: На моем SafePal кошельке хранится USDT и у меня есть seed фраза. (alarm fetch churn bridge exercise tape speak race clerk couch crater letter). Как правильно перевести их на Binance?

@fadeev805
3 hours ago

🔥🔥🔥🔥🔥

@vladimirpospelov2702
3 hours ago

В реальной разработке нет таких данных. Все это по сути ошибки проектирования на бэк.

@ABYA21
3 hours ago

Крутой супер сеньор 🦾🦾🦾🦾💪💪💪💪💪

@alexeysvetlenko2217
3 hours ago

flatMap классный метод но медленный. Если не критична скорость то с помощью flatMap удобно заменять комбинацию нескольких методов map и filter .

[, , , ].flatMap(x => x ? [x] : [])

@sergeypetrovetsky3431
3 hours ago

Получается можно заменить рекурсию для поиска в глубину?

@АндрейБыканутый
3 hours ago

flatMap тоже "бегает" по массиву 😅

@dimendroider7550
3 hours ago

Плоские и Объёмные 😂😂😂

@СергейК-б6н
3 hours ago

Впервые узнал про метод flat!

17
0
Would love your thoughts, please comment.x
()
x