比较两个数组

项目的需求是后台删除某个城市之后,在浏览记录里也要删除对应的城市,这就涉及到了两个数组的比较。最笨的方法就是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];
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。