Skip to content

Latest commit

 

History

History
44 lines (33 loc) · 1.33 KB

pluck.md

File metadata and controls

44 lines (33 loc) · 1.33 KB

pluck

####signature: pluck(properties: ...args): Observable

Select properties to emit.

Examples

Example 1: Pluck object property

( jsBin | jsFiddle )

const source = Rx.Observable.from([
  {name: 'Joe', age: 30},
  {name: 'Sarah', age:35}
]);
//grab names
const example = source.pluck('name');
//output: "Joe", "Sarah"
const subscribe = example.subscribe(val => console.log(val));
Example 2: Pluck nested properties

( jsBin | jsFiddle )

const source = Rx.Observable.from([
  {name: 'Joe', age: 30, job: {title: 'Developer', language: 'JavaScript'}},
  //will return undefined when no job is found
  {name: 'Sarah', age:35}
]);
//grab title property under job
const example = source.pluck('job', 'title');
//output: "Developer" , undefined
const subscribe = example.subscribe(val => console.log(val));

Additional Resources

  • pluck 📰 - Official docs

📁 Source Code: https://github.com/ReactiveX/rxjs/blob/master/src/operator/pluck.ts