codecamp

RxJS pluck

将每个源值(一个对象)映射到其指定的嵌套属性。

pluck<T, R>(...properties: string[]): OperatorFunction<T, R>

参量

属性 从每个源值(一个对象)中选取的嵌套属性。

returns

OperatorFunction<T, R>:来自源值的新的 Observable 属性值。

描述

类似于map,但仅用于选择每个发射对象的嵌套属性之一。

采大理石图

给定描述对象属性路径的字符串列表,可从源 Observable 中的所有值中检索指定的嵌套属性的值。如果无法解析属性,它将返回undefined该值。

将每次点击映射到点击的目标元素的 tagName

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


const clicks = fromEvent(document, 'click');
const tagNames = clicks.pipe(pluck('target', 'tagName'));
tagNames.subscribe(x => console.log(x));

超载

pluck(k1: K1): OperatorFunction<T, T[K1]>

参量 类型
11 类型:K1

returnsOperatorFunction<T, T[K1]>

pluck(k1: K1, k2: K2): OperatorFunction<T, T[K1][K2]>

参量 类型
11 类型:K1
22 类型:K2

returnsOperatorFunction<T, T[K1][K2]>

pluck(k1: K1, k2: K2, k3: K3): OperatorFunction<T, T[K1][K2][K3]>

参量 类型
11 类型:K1
22 类型:K2
33 类型:K3

returnsOperatorFunction<T, T[K1][K2][K3]>

pluck(k1: K1, k2: K2, k3: K3, k4: K4): OperatorFunction<T, T[K1][K2][K3][K4]>

参量 类型
11 类型:K1
22 类型:K2
33 类型:K3
44 类型:K4

returnsOperatorFunction<T, T[K1][K2][K3][K4]> pluck(k1: K1, k2: K2, k3: K3, k4: K4, k5: K5): OperatorFunction<T, T[K1][K2][K3][K4][K5]>

参量 类型
11 类型:K1
22 类型:K2
33 类型:K3
44 类型:K4
55 类型:K5

returnsOperatorFunction<T, T[K1][K2][K3][K4][K5]> pluck(k1: K1, k2: K2, k3: K3, k4: K4, k5: K5, k6: K6): OperatorFunction<T, T[K1][K2][K3][K4][K5][K6]>

参量 类型
11 类型:K1
22 类型:K2
33 类型:K3
44 类型:K4
55 类型:K5
66 类型:K6

returnsOperatorFunction<T, T[K1][K2][K3][K4][K5][K6]>

pluck(...properties: string[]): OperatorFunction<T, R>

参量 类型
属性 类型:string[]

returnsOperatorFunction<T, R>

也可以看看

RxJS partition(已弃用)
RxJS publish
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

RxJS operators

RxJS fetch

RxJS testing

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }