W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
過濾器是與ReactiveCocoa相關(guān)的另一個關(guān)鍵的高階函數(shù),我們接下來來學(xué)習如何使用高階過濾。一個列表通過過濾能夠返回一個只包含了原列表中符合條件的元素的新列表,接下來我們通過具體的例子進行實踐:
NSArray *filteredArray = [array rx_filterWithBlock:^BOOL(id each){
return ([each integerValue] % 2 == 0);
}]
過濾后,現(xiàn)在filteredArray
等于@[ @2 ]
.如果沒有這樣的抽象方法(即高階過濾),我們不得不像下面這樣來完成工作:
NSMutableArray *mutableArray = [NSMutableArray arrayWithCapacity: array.count];
for ( NSNumber * number in array ){
if ( [number integerValue] % 2 == 0 ){
[mutableArray addObject:number];
}
}
NSArray *filteredArray = [NSArray arrayWithArray:mutableArray];
我們在每天的工作中可能會涉及到類似這種高階映射或者高階過濾的事情多不勝數(shù)。這樣通過使用類似高階過濾、高階映射的高階函數(shù),我們能夠把繁瑣又乏味的任務(wù)抽象出來,讓工作變得更加輕松。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: