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

Christian Heilmann @codepo8

About: That JavaScript/Browser guy who worked at Microsoft, Mozilla and Yahoo.

Location:
Berlin, Germany
Joined:
Oct 29, 2018

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

Publish Date: Sep 6 '24
11 2

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.

Comments 2 total

  • Ilya Belous
    Ilya BelousSep 7, 2024

    Oh, sure, just use flatMap() and boom!—instant data extraction. Who needs loops when you can make your code look like it's on a keto diet—lean and unlooped? But hey, where’s the fun in that? If we’re ditching loops, who’s going to babysit our data while we sit back sipping coffee? Sure, it’s "efficient," but without loops, who will keep the infinite while(true) loop tradition alive? It's like cutting pizza with a laser—cool, but what's wrong with a good old-fashioned pizza cutter?

  • Ahmet Cetin
    Ahmet CetinSep 9, 2024

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

Add comment