所有

确定可观察对象发出的所有项目是否符合某些条件

将谓词函数传递给 All 运算符,该运算符接受源可观察对象发出的项目,并根据对该项目的评估返回布尔值。 All 返回一个可观察对象,它发出一个布尔值:true 当且仅当源可观察对象正常终止并且源可观察对象发出的每个项目根据此谓词评估为 true 时;false 如果源可观察对象发出的任何项目根据此谓词评估为 false

另请参阅

特定于语言的信息

待定

all

RxGroovy 将此运算符实现为 all。它默认情况下不会在任何特定 调度器 上运行。以下示例展示了如何使用此运算符

示例代码

numbers = Observable.from([1, 2, 3, 4, 5]);

println("all even?" )
numbers.all({ 0 == (it % 2) }).subscribe({ println(it); });

println("all positive?");
numbers.all({ 0 < it }).subscribe({ println(it); });
all even? 
false
all positive? 
true
all

RxJava 1.x 将此运算符实现为 all。它默认情况下不会在任何特定 调度器 上运行。

all

RxJava 2.x 将此运算符实现为 all。它默认情况下不会在任何特定 调度器 上运行。

every

RxJS 将此运算符实现为 every。以下示例展示了如何使用此运算符

示例代码

var source = Rx.Observable.of(1,2,3,4,5)
  .every(function (x) {
    return x < 6;
  });

var subscription = source.subscribe(
  function (x) { console.log('Next: %s', x); },
  function (err) { console.log('Error: %s', err); },
  function () { console.log('Completed'); });
Next: true
Completed

every 存在于以下发行版中

  • rx.all.js
  • rx.all.compat.js
  • rx.aggregates.js

它需要以下发行版之一

  • rx.js
  • rx.compat.js
  • rx.lite.js
  • rx.lite.compat.js

还有一个 jortSort 运算符,它对源可观察对象发出的整个项目序列执行测试。如果这些项目按排序顺序发出,则在源可观察对象成功完成时,从 jortSort 返回的可观察对象将发出 true 然后完成。如果源可观察对象发出的任何项目超出排序顺序,则在源可观察对象成功完成时,从 jortSort 返回的可观察对象将发出 false 然后完成。

还有一个 jortSortUntil 运算符。它不会像 jortSort 那样等待源可观察对象完成以评估其序列的有序性,而是等待第二个可观察对象发出项目来执行此操作。

另请参阅

示例代码

var source = Rx.Observable.of(1,2,3,4) // already sorted
               .jortSort();

var subscription = source.subscribe(
  function (x) { console.log('Next: %s', x); },
  function (e) { console.log('Error: %s', e); },
  function ( ) { console.log('Completed'); });
Next: true
Completed
var source = Rx.Observable.of(3,1,2,4) // not sorted
               .jortSort();

var subscription = source.subscribe(
  function (x) { console.log('Next: %s', x); },
  function (e) { console.log('Error: %s', e); },
  function ( ) { console.log('Completed'); });
Next: false
Completed
var just = Rx.helpers.just;

var source = Rx.Observable.of(1,2,3,4) // already sorted
               .flatmap(function (x) {
                 return Rx.Observable.timer(1000).map(just(x));
               }).jortSortUntil(Rx.Observable.timer(3000);

var subscription = source.subscribe(
  function (x) { console.log('Next: %s', x); },
  function (e) { console.log('Error: %s', e); },
  function ( ) { console.log('Completed'); });
Next: true
Completed
var just = Rx.helpers.just;

var source = Rx.Observable.of(3,1,2,4) // not sorted
               .flatmap(function (x) {
                 return Rx.Observable.timer(1000).map(just(x));
               }).jortSortUntil(Rx.Observable.timer(3000);

var subscription = source.subscribe(
  function (x) { console.log('Next: %s', x); },
  function (e) { console.log('Error: %s', e); },
  function ( ) { console.log('Completed'); });
Next: false
Completed

jortSortjortSortUntil 存在于以下发行版中

  • rx.sorting.js

它们需要以下发行版之一

  • rx.js
  • rx.compat.js
  • rx.lite.js
  • rx.lite.compat.js

待定

待定

待定