W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
返回一個 Observable,該對象使用通過使用提供的鍵檢查的兩個屬性是否不同而訪問的屬性來發(fā)出源 Observable 發(fā)出的,與上一個項目相比有所不同的所有項目。
distinctUntilKeyChanged<T, K extends keyof T>(key: K, compare?: (x: T[K], y: T[K]) => boolean): MonoTypeOperatorFunction
<T>
鍵 | 每個項目上對象屬性查找的字符串鍵。 |
---|---|
相比 | 可選的。默認值為undefined 。調(diào)用可選的比較函數(shù)以測試某項是否與源中的上一項不同。 |
MonoTypeOperatorFunction<T>
:一個 Observable,它根據(jù)指定的鍵從源 Observable 發(fā)出具有不同值的項目。
如果提供了比較器功能,則將為每個項目調(diào)用比較器功能,以測試是否應發(fā)出該值。
如果未提供比較器功能,則默認情況下使用相等檢查。
比較人員姓名的示例
import { of } from 'rxjs';
import { distinctUntilKeyChanged } from 'rxjs/operators';
interface Person {
age: number,
name: string
}
of<Person>(
{ age: 4, name: 'Foo'},
{ age: 7, name: 'Bar'},
{ age: 5, name: 'Foo'},
{ age: 6, name: 'Foo'},
).pipe(
distinctUntilKeyChanged('name'),
)
.subscribe(x => console.log(x));
// displays:
// { age: 4, name: 'Foo' }
// { age: 7, name: 'Bar' }
// { age: 5, name: 'Foo' }
比較名稱首字母的示例
import { of } from 'rxjs';
import { distinctUntilKeyChanged } from 'rxjs/operators';
interface Person {
age: number,
name: string
}
of<Person>(
{ age: 4, name: 'Foo1'},
{ age: 7, name: 'Bar'},
{ age: 5, name: 'Foo2'},
{ age: 6, name: 'Foo3'},
).pipe(
distinctUntilKeyChanged('name', (x: string, y: string) => x.substring(0, 3) === y.substring(0, 3)),
)
.subscribe(x => console.log(x));
// displays:
// { age: 4, name: 'Foo1' }
// { age: 7, name: 'Bar' }
// { age: 5, name: 'Foo2' }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: