RxSwift 操作符 (filter & map & reduce)

filter & map & reduce

ReactiveX:
filter: emit only those items from an Observable that pass a predicate test
map: transform the items emitted by an Observable by applying a function to each item
reduce: apply a function to each item emitted by an Observable, sequentially, and emit the final value

filter 过滤
map 转换
reduce 将一个函数作用于它,并得到一个最终值
效果和swift的filter,map,reduce一样。

Observable<Int>.from([1, 2, 3, 4, 5])
    .filter { $0 > 3 }
    .subscribe(onNext: { element in
        print("element:", element)
    })
    .disposed(by: bag)
print("-------")
Observable<Int>.from([1, 2, 3, 4, 5])
    .map { $0 + 10 }
    .subscribe(onNext: { element in
        print("element:", element)
    })
    .disposed(by: bag)
print("-------")
Observable<Int>.from([1, 2, 3, 4, 5])
    .reduce(0, accumulator: { $0 + $1 })
    .subscribe(onNext: { element in
        print("element:", element)
    })
    .disposed(by: bag)

输出:
element: 4
element: 5
*---------*
element: 11
element: 12
element: 13
element: 14
element: 15
*---------*
element: 15

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值