Object-C中兩個陣列中元素篩選

Object-C中兩個陣列中元素篩選

/**

獲取兩個陣列中的相同元素

@param oneArray 一個數組

@param otherArray 另一個數組

@return 相同元素組成陣列

*/

- (NSArray *)getSameDataWithOneArray:(NSArray *)oneArray OtherArray:(NSArray *)otherArray{

NSPredicate * filterPredicate_same = [NSPredicate predicateWithFormat:@“SELF IN %@”,oneArray];

NSArray * filter_no = [otherArray filteredArrayUsingPredicate:filterPredicate_same]; NSLog(@“%@”,filterPredicate_same);

return filter_no;

}

/**

獲取一個數組中有但是另一個數組中沒有的資料

@param thisArray 含有特殊元素的陣列

@param otherArray 不含特殊元素的陣列

@return 獨有的元素組成的陣列

*/

- (NSArray *)getMoreThanDataInThisArray:(NSArray *)thisArray ButNotInOtherArray:(NSArray *)otherArray{

//找到在thisArray中不在陣列otherArray中的資料

NSPredicate * filterPredicate2 = [NSPredicate predicateWithFormat:@“NOT (SELF IN %@)”,otherArray];

NSArray * filter2 = [thisArray filteredArrayUsingPredicate:filterPredicate2];

return filter2;

}