RxJS filter

2020-10-14 10:12 更新

通過僅發(fā)出滿足指定謂詞的項(xiàng)來過濾由源發(fā)出的項(xiàng)。

filter<T>(predicate: (value: T, index: number) => boolean, thisArg?: any): MonoTypeOperatorFunction<T>

參量

謂詞 評(píng)估源 Observable 發(fā)出的每個(gè)值的函數(shù)。如果返回true,則發(fā)送該值,如果false該值未傳遞到輸出 Observable。該index參數(shù)是i從訂閱以來發(fā)生的第i個(gè)源發(fā)射的編號(hào) 0。
thisArg 可選的。默認(rèn)值為undefined。一個(gè)可選的參數(shù)來確定的值this 的predicate功能。

returns

MonoTypeOperatorFunction<T>:該predicate函數(shù)允許的來自源的可觀察值。

描述

Array.prototype.filter()一樣 ,它僅在通過標(biāo)準(zhǔn)函數(shù)時(shí)才從源發(fā)出值。

過濾大理石圖

與眾所周知的 Array.prototype.filter方法類似,此運(yùn)算符從 Observable 源獲取值,將其傳遞給 predicate 函數(shù),然后僅發(fā)出 yielded 的值 true。

僅發(fā)出目標(biāo)為 DIV 元素的點(diǎn)擊事件

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


const clicks = fromEvent(document, 'click');
const clicksOnDivs = clicks.pipe(filter(ev => ev.target.tagName === 'DIV'));
clicksOnDivs.subscribe(x => console.log(x));

也可以看看

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)