IOS-筛选数组内的元素

    //需要去掉的元素数组
    NSMutableArray *filteredArray = [[NSMutableArray alloc]initWithObjects:@"1",@"4", nil];
    //需要被筛选的数组
    NSMutableArray *dataArray = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"1",@"4",@"6",@"1",@"1",@"4",@"1",@"6",@"4", 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);
    /*
     结果:
     Reslut Filtered Array = (
     2,
     6,
     6
     )
     */

    /*
     方法二:从后往前遍历数组,然后匹配删除
     */
    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);
    /*
     结果:
     Data Array = (
     2,
     6,
     6
     )
     */

时间: 2024-08-09 12:10:49

IOS-筛选数组内的元素的相关文章

筛选数组内的重复项

//给数组添加方法del(),作用是筛选数组内的重复项 Array.prototype.del = function() { var a = {}, c = [], length = this.length; for (var i = 0; i < length; i++) { var b = this[i]; var d = (typeof b) + b; if (a[d] === undefined) { c.push(b); a[d] = 1; } } return c; }

C++_第七章函数的基本知识_求阶乘的子函数_ 函数参数类型为数组_ 求数组内所有元素和、部分元素和的方法_实现了先从键盘输入到一个数组中,再用for循环取读出数组中的元素 for循环也可以用break来结束循环的

/* 第七章函数的基本知识 */ /*01)c++对于返回值有一定的限制:可以是常量.变量.指针.结构对象或表达式,但不可以是数组02)c++返回数组的方法:将数组作为结构会对象组成部分来返回03)函数遇到return则结束该函数04)如果一个函数的两房额参数类型相同,则必须分别制定每个参数的类型,而不能像声明常规变量那样,将声明组合在一起05)*/ //本代码注意double类型的写法以及double和int类型数据的转换 1 #include <iostream> 2 3 void che

PHP对一个二维数组内的元素进行排序和冒泡排序

$arr=array( 'a'=>array('name'=>'n1','age'=>22), 'b'=>array('name'=>'n2','age'=>21), 'c'=>array('name'=>'n3','age'=>25), 'd'=>array('name'=>'n4','age'=>20) ); //要求根据age值,对数组进行排序. $newArr=array(); $arrn=$arr; foreach($arr

iOS遍历数组相同值元素到同一对象的子数组

saledGoodsArray数组中存储商品对象saledgoods,saledgoods有seatNo属性,将saledGoodsArray数组中saledgoods对象相同座位儿号的商品赋值给同一个人(personObject)的购买商品数组(purchasedGoodsArr). 刚发现可以这样写,惭愧得紧! dataArray = [[NSMutableArray alloc] init]; saledGoodsArray = [ShoppingCartDataCenter queryN

JavaScript提取数组内所有元素

1 var arrN = [[[1, "wangyuchu", 54, [123, 34, [123, 34, 16]]],"zhangsan", 25, [1, "wangyuchu", 54, [123, 34, [123, 34, [1, "wangyuchu", 54, [123, 34, [123, 34, 16]]],]]], 43], ["lisi", 21, 172], ["wan

数组的创建/查找数组里面的内容/添加数组中元素/使用指定的字符串把数组链接起来/判断数组内是否有指定的数组元素/四种遍历进行输出数组中的元素有哪些

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //创建数组 //1.快速创建数组@[] NSArray*[email protected][@"month",@"tue",@" wed",@"fir"]; //2,创建空的数组 NSArray*arr=[[NSArray a

iOS NSArray数组过滤

//iOS-筛选数组内的元素 //在dataArray中里面,将在dataArray中的并且在filteredArray数组里面的元素过滤掉 //需要去掉的元素数组 NSMutableArray *filteredArray = [[NSMutableArray alloc]initWithObjects:@"1",@"3",@"9", nil]; //需要被筛选的数组 NSMutableArray *dataArray = [[NSMutabl

Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解

一.Jquery遍历筛选数组 1.jquery grep()筛选遍历数组 $().ready( function(){ var array = [1,2,3,4,5,6,7,8,9]; var filterarray = $.grep(array,function(value){ return value > 5;//筛选出大于5的 }); for(var i=0;i<filterarray.length;i++){ alert(filterarray[i]); } for (key in f

LeetCode:Contains Duplicate - 判断数组内是否有重复元素

1.题目名称 Contains Duplicate(判断数组内是否有重复元素) 2.题目地址 https://leetcode.com/problems/contains-duplicate/ 3.题目内容 英文:Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in