New Sep 6, 2024

Quick tip: using flatMap() to extract data from a huge set without any loop

Top Front-end Bloggers All from Christian Heilmann View Quick tip: using flatMap() to extract data from a huge set without any loop on christianheilmann.com

A capybara wearing a flat cap and holding a pint with the name Flat Cap crossed out and .flatMap() instead.

I just created a massive dataset of all the AI generated metadata of the videos of the WeAreDeveloper World Congress and I wanted to extract only the tags.

The dataset is a huge array with each item containing a description, generated title, an array of tags, the original and their title, like this:


{

“description”: “The talk begins with an introduction to Twilio…”,
“generatedtitle: “Enhancing Developer Experience: Strategies and Importance”,
“tags”: [“Twilio”, “DeveloperExperience”, “CognitiveJourney”],
“title”: “Diving into Developer Experience”
}

What I wanted was an alphabetical lost of all the tags in the whole dataset, and this is a one-liner if you use flatMap():


data.flatMap(d => d.tags);

You can sort them alphabetically with sort():


data.flatMap(d => d.tags).sort();

And you can de-dupe the data and only get unique tags when you use Set():


new Set(data.flatMap(d => d.tags).sort());

You can try this in this codepen.

Scroll to top