Skip to content

Instantly share code, notes, and snippets.

@hasinhayder
Last active October 6, 2020 18:27
Show Gist options
  • Save hasinhayder/d113258a7b1cf8b343fb399bb8bfcea5 to your computer and use it in GitHub Desktop.
Save hasinhayder/d113258a7b1cf8b343fb399bb8bfcea5 to your computer and use it in GitHub Desktop.
Extracting data and flattening it from a multi dimensional array
//data source = https://gist.github.com/hasinhayder/7352ac2d76660862061ffdd0d963711e
const videos = course.data.chapters
.map((chapter) => chapter.episodes.map((episode) => episode.vid))
.flat()
//Another solution (By Shadman Shadab)
const videos = course.data.chapters
.flatMap((chapter) => chapter.episodes.map((episode) => episode.vid))
// result = ["VAZz_eYJJ1M", "S_pJoNeMqj8", "vmgHZUD0v4c", "mmiPxxulXUk", "nrZAZ0DmrlM"]
@SharifClick
Copy link

SharifClick commented Oct 6, 2020

Array.from(course.data.chapters, v => v.episodes.map(v => v.vid)).flat()

@ahamed
Copy link

ahamed commented Oct 6, 2020

const result = course.data.chapters.reduce((acc, curr) => [...acc, ...curr.episodes.map(item => item.vid)], []);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment