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"
}
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.
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?