Skip to content

Instantly share code, notes, and snippets.

@jamessom
Created February 4, 2018 22:57
Show Gist options
  • Save jamessom/458ef6bdb77c5f336ff849188f778010 to your computer and use it in GitHub Desktop.
Save jamessom/458ef6bdb77c5f336ff849188f778010 to your computer and use it in GitHub Desktop.
test power of map, filter and reduce
const obj = [
{ time: "11:51", title: "Flexbox Video" },
{ time: "11:29", title: "Flexbox Video" },
{ time: "9:13", title: "Flexbox Video" },
{ time: "8:22", title: "Flexbox Video" },
{ time: "8:57", title: "Flexbox Video" },
{ time: "7:12", title: "Flexbox Video" },
{ time: "7:58", title: "Redux Video" },
{ time: "7:24", title: "Redux Video" },
{ time: "6:46", title: "Flexbox Video" },
{ time: "5:23", title: "Flexbox Video" },
{ time: "5:50", title: "Flexbox Video" },
{ time: "5:52", title: "Redux Video" },
{ time: "5:49", title: "Flexbox Video" },
{ time: "5:17", title: "Flexbox Video" },
{ time: "4:40", title: "Flexbox Video" },
{ time: "4:45", title: "Flexbox Video" },
{ time: "3:34", title: "Redux Video" },
{ time: "5:59", title: "Redux Video" },
{ time: "3:07", title: "Flexbox Video" },
{ time: "3:31", title: "Flexbox Video" }
];
let titles = obj.map(title => title.title);
let times = obj.map(time => time.time);
let lolos = obj
.filter(lolosTitles => lolosTitles.title.includes('Redux') )
.map(lolosTimes => lolosTimes.time)
.map(lolosConvertTimes =>{
const parts = lolosConvertTimes.split(':').map(part => parseFloat(part));
return (parts[0] * 60) + parts[1]
})
.reduce((runningTotal, seconds) => runningTotal + seconds);
console.log(lolos)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment