Quick tip: using flatMap() to extract data from a huge set without any loop
Friday, September 6th, 2024 at 12:47 pmI 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.