比较两个数组

项目的需求是后台删除某个城市之后,在浏览记录里也要删除对应的城市,这就涉及到了两个数组的比较。最笨的方法就是for循环,每个数据进行比较,删除多余的数据。利用正则表达式则比较高效率的解决这个问题,在写法上也更加简洁。

 //过滤出已经删除的城市,找出在nationalArr但是不在hisArr中的数据

    NSPredicate *filterPredicate = [NSPredicate predicateWithFormat:@"NOT (SELF.cityID IN %@.cityID)",nationalArr];
    NSArray *filter = [hisArr filteredArrayUsingPredicate:filterPredicate];
    //从历史记录里删除城市,从hisArr中删除数据
    NSPredicate *filterPredicate2 = [NSPredicate predicateWithFormat:@"NOT (SELF.cityID IN %@.cityID)",filter];
    NSArray *filter2 = [hisArr filteredArrayUsingPredicate:filterPredicate2];

你可能感兴趣的:(比较两个数组)