DEV Community

Cover image for Quick tip: using flatMap() to extract data from a huge set without having to write a loop
Christian Heilmann
Christian Heilmann

Posted on • Edited on • Originally published at christianheilmann.com

9 2

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

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 ",
  "tags": ["Twilio", "DeveloperExperience", "CognitiveJourney"],
  "title": "Diving into Developer Experience"
}
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode

You can sort them alphabetically with sort():

data.flatMap(d => d.tags).sort();
Enter fullscreen mode Exit fullscreen mode

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

new Set(data.flatMap(d => d.tags).sort());
Enter fullscreen mode Exit fullscreen mode

You can try this in this codepen.

Image of Datadog

How to Diagram Your Cloud Architecture

Cloud architecture diagrams provide critical visibility into the resources in your environment and how they’re connected. In our latest eBook, AWS Solution Architects Jason Mimick and James Wenzel walk through best practices on how to build effective and professional diagrams.

Download the Free eBook

Top comments (2)

Collapse
 
ahmetcetin profile image
Ahmet Cetin

Who will tell Christian that flatMap is actually a loop? :)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more