OC 之字典/数组混合使用(删除元素 描述器排序)

注:字典在数组内排序用描述器排序,遍历用字典对象输出!!!!!!

 NSArray *[email protected][@{@"name":@"Tim Cook",@"age":@"24",@"sex":@"female",@"score":@"89"},@{@"name":@"Jony Ive",@"age":@"26",@"sex":@"female",@"score":@"76"},@{@"name":@"Steve Jobs",@"age":@"24",@"sex":@"male",@"score":@"67"},@{@"name":@"Robert Brunne",@"age":@"28",@"sex":@"male",@"score":@"88"}];

        /*
         1.添加数据姓名:Philip Schiller年龄:29性别:female分数:70到arr数组内。
         2.查找数组内"Steve Jobs"的数据并删除。
         3.按姓名首字母进行排序。
         4.按年龄进行升序排序,如果年龄相同则按性别进行排序。
         5.输出成绩大于或等于80分的学员信息。*/
        NSDictionary *[email protected]{@"name":@"Philip Schiller",
                            @"age":@"29",
                            @"sex":@"female",
                            @"score":@"70"};
        NSArray *arr4=[arr3 arrayByAddingObject:dic];
        NSLog(@"姜易成");
        NSLog(@"第一题------------");
        for(NSDictionary *dic in arr4){
            NSLog(@"%@ %@ %@ %@",dic[@"name"],dic[@"age"],dic[@"sex"],dic[@"score"]);
        }
        NSMutableArray *arr5=[NSMutableArray arrayWithArray:arr4];
        NSMutableArray *arr6=[NSMutableArray arrayWithArray:arr4];
        NSLog(@"第二题------------");
        for(int i=0;i<arr4.count;i++){
            NSDictionary *dic=arr4[i];
            if([dic[@"name"] isEqual:@"Steve Jobs"]){
                [arr5 removeObject:dic];
            }
        }
        for(NSDictionary *dic in arr5){
            NSLog(@"%@ %@ %@ %@",dic[@"name"],dic[@"age"],dic[@"sex"],dic[@"score"]);
        }
        NSSortDescriptor *sorts=[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
        [arr6 sortUsingDescriptors:[NSArray arrayWithObjects:sorts, nil]];
        NSLog(@"第三题------------");
        for(NSDictionary *dic in arr6){
            NSLog(@"%@ %@ %@ %@",dic[@"name"],dic[@"age"],dic[@"sex"],dic[@"score"]);
        }
        NSLog(@"第四题------------");
        NSSortDescriptor *sortAge=[NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES];
        NSSortDescriptor *sortSex=[NSSortDescriptor sortDescriptorWithKey:@"sex" ascending:YES];
        [arr6 sortUsingDescriptors:[NSArray arrayWithObjects:sortAge,sortSex, nil]];
        for(NSDictionary *dic in arr6){
            NSLog(@"%@ %@ %@ %@",dic[@"name"],dic[@"age"],dic[@"sex"],dic[@"score"]);
        }
        NSLog(@"第五题------------");
        for(NSDictionary *dic in arr6){
            int score =[dic[@"score"] intValue];
            if(score>80){
            NSLog(@"%@ %@ %@ %@",dic[@"name"],dic[@"age"],dic[@"sex"],dic[@"score"]);
            }
        }
时间: 2024-10-19 08:57:12

OC 之字典/数组混合使用(删除元素 描述器排序)的相关文章

PHP从数组中删除元素的四种方法实例

本篇文章主要介绍了PHP从数组中删除元素的四种方法实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 茴香豆的"茴"字有四种写法,PHP从数组中删除元素也有四种方法 ^_^. 删除一个元素,且保持原有索引不变 使用 unset 函数,示例如下: <?php $array = array(0 => "a", 1 => "b", 2 => "c"); unset($array[

php数组中删除元素之重新索引

如果要在某个数组中删除一个元素,可以直接用的unset,但今天看到的东西却让我大吃一惊 <?php $arr = array('a','b','c','d'); unset($arr[1]); print_r($arr); ?> print_r($arr) 之后,结果却不是那样的,最终结果是 Array ( [0] => a [2] => c [3] => d ) 那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是 array_splice(): <?ph

从数组中删除元素:pop()&amp;unshift()方法

//pop() 和 shift() 方法都将删掉的元素作为方法的返回值返回 var a = [ 1, 2, 3 ]; alert(a.pop());//从数组末尾删除 alert(a); alert(a.shift());//从数组首端删除 alert(a); /* var a = [ 9, 1, 2 ]; for ( var i = 0; i < a.length; ++i) { a[i] = a[i + 1];//模拟unshift()方法 } alert(a); // 1,2,3,4,5,

js数组之从数组中删除元素

使用pop()这个函数可以从数组中删除末尾的元素,shift方法可以删除数组中第一个元素.这些都是js中自带的函数,如果不使用这些函数的话,自己写的代码效率会很低的. <html> <head> <title>数组的字符串表示</title> <script type="text/javascript"> function B(){ var names1=["zhangsan1","lisi1&q

js 数组循环删除元素或对象

1.根据不同条件,删除数组中的元素或对象 for(var i=0,flag=true,len=attrList.length;i<len;flag ? i++ : i){ if(attrList[i] && (attrList[i].attrId=='530' || attrList[i].attrId=='534' || attrList[i].attrId=='9')){ attrList.splice(i,1); flag = false; } else { flag = tr

对象和数组-把数组里的元素按照自然排序

———————————————————————— <script type="text/javascript">                var arr = new Array();        //创建一个数组            for(var i=0;i<10;i++){        //遍历打印数组的值                //数组的值随机获得,100一下的正整数                arr[i] = Math.floor(Ma

js数组循环删除元素或对象

for(var i=0,flag=true,len=attrList.length;i<len;flag ? i++ : i){ if( attrList[i]&&(attrList[i].attrId=='530'||attrList[i].attrId=='534'||attrList[i].attrId=='9')){ attrList.splice(i,1); flag = false; } else { flag = true; } }

oc描述器排序

int main(int argc, const char * argv[]) { @autoreleasepool { NSArray *array = @[CreateDict(@"王思聪", 27, YES), CreateDict(@"范冰冰", 35, NO), CreateDict(@"马云", 51, YES), CreateDict(@"霍建华", 36, YES), CreateDict(@"赵丽颖

[码海拾贝 之JS] JS 之删除数组中的元素

前言 在Java 中要从一个list 中删除一个元素, 直接使用 remove 方法就可以了. 在js 中的array 并没有 remove 方法, 但是在js 中array 有splice 方法可以达成相同的效果, 除此之外, 还可以使用其他方式来实现这个效果. 使用splice 方法实现从数组中删除元素 首先看一下 splice 方法如何使用. 语法 arrayObject.splice(index,howmany,item1,.....,itemX) 参数 描述 index 必需.整数,规