IOS高階過濾的簡單使用

2020-07-24 14:42 更新

過濾器是與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ù)抽象出來,讓工作變得更加輕松。


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號