Skip to content

Instantly share code, notes, and snippets.

@Kamilnaja
Created April 24, 2019 18:30
Show Gist options
  • Save Kamilnaja/eadfb58c359cd1c71bd20cfc97112308 to your computer and use it in GitHub Desktop.
Save Kamilnaja/eadfb58c359cd1c71bd20cfc97112308 to your computer and use it in GitHub Desktop.
Filter data from object array and return as array
import { from } from "rxjs";
import { filter, reduce } from "rxjs/operators";
let candidates = [
{ name: 'Brendan Eich', experience: 'JavaScript Inventor' },
{ name: 'Emmet Brown', experience: 'Historian' },
{ name: 'George Lucas', experience: 'Sci-fi writer' },
{ name: 'Alberto Perez', experience: 'Zumba Instructor' },
{ name: 'Bjarne Stroustrup', experience: 'C++ Developer' }
];
from(candidates)
.pipe(
filter(item => item.experience.toLowerCase().includes('javascript') || item.experience.toLowerCase().includes('c++')),
reduce((acc: any, obj) => {
acc.push(obj.name);
return acc
}, [])
).subscribe(console.log);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment