iOS NSArray数组过滤
需求:在一个数组里面,将在这个数组中的并且在另一个数组里面的元素过滤掉。
即:在一个数组dataArray里面,将在dataArray数组中的并且在filteredArray数组里面的元素过滤掉。
//iOS-筛选数组内的元素//在dataArray中里面,将在dataArray中的并且在filteredArray数组里面的元素过滤掉//需要去掉的元素数组NSMutableArray *filteredArray = [[NSMutableArray alloc]initWithObjects:@"1",@"3",@"9", nil];//需要被筛选的数组NSMutableArray *dataArray = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3",@"1",@"1",@"3",@"1",@"5",@"7", nil];/*方法一:利用NSPredicate注:NSPredicate所属Cocoa框架,在密码、用户名等正则判断中经常用到。类似于SQL语句NOT 不是SELF 代表字符串本身IN 范围运算符那么NOT (SELF IN %@) 意思就是:不是这里所指定的字符串的值*/NSPredicate * filterPredicate = [NSPredicate predicateWithFormat:@"NOT (SELF IN %@)",filteredArray];//过滤数组NSArray * reslutFilteredArray = [dataArray filteredArrayUsingPredicate:filterPredicate];NSLog(@"Reslut Filtered Array = %@",reslutFilteredArray);/*方法二:从后往前遍历数组,然后匹配删除*/int i = (int)[dataArray count]-1;for(;i >= 0;i --){//containsObject 判断元素是否存在于数组中(根据两者的内存地址判断,相同:YES 不同:NO)if([filteredArray containsObject:[dataArray objectAtIndex:i]]) {[dataArray removeObjectAtIndex:i];}}NSLog(@"Data Array = %@",dataArray);
iOS NSArray数组过滤相关推荐
- [iOS]NSArray:数组(NSArray)使用注意
数组(NSArray)添加的元素必须为对象,如果是数字,则用NSNumber封装一下. 数组不能添加nil对象.
- IOS 之 NSArray 数组方法详解(3)
NSArray 数组的创建 1.使用类方法创建 一个空的数组 + (id)array; 2.使用类方法创建 只有一个对象的数组 + (id)arrayWithObject:(id)anObject; ...
- nsarray数组越界_NSArray,NSMutableArray –目标C数组
nsarray数组越界 NSArray and NSMutableArray are the Objective C array objects. In this tutorial we'll dis ...
- NSArray去重过滤
两个 NSArray去重过滤 避免大量使用for循环 // 取两个数组交集的时候,可以先将NSArray 转换成 NSMutableSet,再通过取二者交集即可,但是需要注意一点是数组中的元素最好复写 ...
- iOS——NSArray
iOS--NSArray /* NSArray.h Copyright (c) 1994-2015, Apple Inc. All rights reserved. */ #import <Fo ...
- 详解JavaScript数组过滤相同元素的5种方法
详解JavaScript数组过滤相同元素的5种方法:https://www.jb51.net/article/114490.htm 转载于:https://www.cnblogs.com/bydzha ...
- js中数组过滤、遍历、迭代every、some、filter、map、forEach、reduce、reduceRight
全栈工程师开发手册 (作者:栾鹏) js系列教程1-数组操作全解 js中数组过滤.遍历.迭代 数组的过滤.遍历.迭代操作中 1.过滤为将满足条件的元素筛选出来,返回数组 2.遍历为分别计算每一个元素值 ...
- javascript 数组过滤重复对象
1.在数组过滤或筛选重复的数据,可以使用Hash方式, 代码如下 arrHashFilter:function (arr) { var result = [], hash = {}; ...
- es6 filter() 数组过滤方法总结
Array.every(x=>x)是每一个都要满足 Array.some(x=>x)是有一个满足. Array.find(findIndex),返回符合条件的第一个值. Array.fil ...
最新文章
- 转换前台javascript传递过来的时间字符串到.net的DateTime
- PS修改过图片上传服务器,富文本编辑器图片上传base64存数据库改为服务器图片路径...
- vs2010无法查看自定义的普通变量(CXX0017:错误:没有找到符号)
- 解析网络诊断利器SreCli-Net
- IE haslayout的理解与bug修复
- 应用软件系统程序员的三个立面
- JAVA入门级教学之(if语句)
- 云小课 | 不了解EIP带宽计费规则?看这里!
- 化鲲为鹏,我有话说 ,鲲鹏ARM架构的优势
- 斯特林公式--求n!的位数
- theano 后端爆内存
- c#虹软2.0免费人脸识别 实例
- 口袋妖怪模拟器android,口袋妖怪叶绿模拟器手机版
- 个头小本领大的员工——火车站巡检机器人
- 我对“渗透性测试”的理解
- UE4UI制作_MainMenu
- 关系抽取论文阅读笔记
- SitePoint Podcast#175:版式
- android 夜间模式源码,Android Support Library 之 夜间模式
- 教你用JavaScript制作背景图像滚动效果
热门文章
- 明略科技完成2亿美元E+轮融资,中俄投资基金领投,腾讯、弘卓资本等跟投
- 说人话,搜代码,Facebook发布神经代码搜索数据集+benchmark
- 数据科学中的6个基本算法,掌握它们要学习哪些知识
- matplotlib 入门之Image tutorial
- UAVStack的慢SQL数据库监控功能及其实现
- 关于SQL Server 2017中使用json传参时解析遇到的多层解析问题
- Android EventBus使用(不含源码解析)
- ArrayList和LinkedList的add(E)性能秘密
- linux后台运行和关闭、查看后台任务
- homebrew常用指令