RxJS: Operator pluck

Opublikowano: 12.04.2022 - tagi: JavaScript RxJS Operator Pipe

Operator pluck działa bardzo podobnie do opisanego operatora map.

Jeśli potrzebujemy wyłuskać dane z jednej właściwości, ten operator idealnie się do tego nadaje.

Przykłady

Przykład 1

import { from } from 'rxjs';
import { pluck } from 'rxjs/operators';

const data = [
    {
        title: 'Foo',
        value: 1
    },
    {
        title: 'Bar',
        value: 2
    }
];

const observable = from(data).pipe(
    pluck('title')
);
observable.subscribe(console.log);
// Wynik
// Foo
// Bar

Przykład 2

Za pomocą operatora pluck możemy też pobrać zagnieżdżone wartości:

import { from } from 'rxjs';
import { pluck } from 'rxjs/operators';

const data = [
    {
        title: 'Foo',
        value: {
            amount: 100,
            currency: 'PLN'
        }
    },
    {
        title: 'Bar',
        value: {
            amount: 700,
            currency: 'EUR'
        }
    }
];

const observable = from(data).pipe(
    pluck('value', 'currency')
);
observable.subscribe(console.log);
// Wynik
// PLN
// EUR