iOS数据重组

作者: Pusswzy | 来源:发表于2016-07-26 11:32 被阅读221次

昨天女朋友对后台返回的数据有一个要求,后台返回了一个字典数组,字典里面有一个Key为apId。需要把具有相同apId的字典放在一个新创建的数组中。返回数据如下图


返回数据

也就是说对数据进行重组,在下班前的一个小时帮女朋友解决了这个问题。感觉还是不错的~ 再此就抛砖引玉了

        //initialization
        //初始化测试数组
        NSArray *originalArray = @[@1, @23, @2, @1, @1, @23, @33, @2, @3321, @5, @1];
        NSInteger count = originalArray.count;
        NSMutableArray *mutableOriginalArray = [originalArray mutableCopy]; //深拷贝
        
        //这个数组装所有包含相同元素的数组
        NSMutableArray *allArray = [NSMutableArray array];
        
        //for循环遍历数组
        for (NSInteger i = 0; i < count; i++) {
        
            //            NSMutableArray *tempArray = [mutableOriginalArray mutableCopy]; //遍历一个数组的时候 无法对该数组进行修改 所以需要一个临时数组
            
            //装相同元素的数组
            NSMutableArray *array = [NSMutableArray array];
            
            for (NSNumber *num in mutableOriginalArray) {
                if ([originalArray[i] isEqual:num]) { //判断是否相同  因为第一个num等于originalArray[i] 所以只需添加num就可以
                    [array addObject:num]; //array数组里面包含所有相同元素的数组
                }
            } //end ForIn
            
            if (array.count != 0) { //如果数组为空无需添加
                [allArray addObject:array]; //这句话要放在外面
            }
            
            
            [mutableOriginalArray removeObject:originalArray[i]];    // 这句话很重要 如果originalArray[i] 为@1 则数组会移除所有@1的元素
            
            //优化遍历时间 如果数组已经为空 则跳出循环 直接输出数组
            if (mutableOriginalArray.count == 0) {
                break;
            }
            
        }//end For
        
        NSLog(@"数组%@", allArray);
输出结果

天天在请求数据,搭UI的空闲之余,写写这种代码感觉还是很不错的.再此也希望大家的指点,一起进步..

相关文章

  • iOS数据重组

    昨天女朋友对后台返回的数据有一个要求,后台返回了一个字典数组,字典里面有一个Key为apId。需要把具有相同apI...

  • 数据重组

    需求:对原始数据,当站点名称相同时,把相同名称的重新组合成数组 相关代码 var arr = res.msgs ...

  • K8-8/15-《大数据时代》 -蝈蝈

    随着大数据的出现,数据的总和比部分更有价值。当我们将多个数据集的总和重组在一起时,重组总和本身的价值也比单个总和更...

  • ip分割处理与再构成处理

    ip分割的原因是数据链路不同,MTU不同。 ip报文的分割与重组 路由器会对数据分片,到目标主机后被重组。 路径M...

  • 计算机网络(八):传输层

    传输层的作用 传输层的作用跟踪每个会话数据分段重组数据段标志应用程序 控制会话传输层的主要功能包括分段和重组会话多...

  • iOS重签名

    重组 IPA (打包再签名) - 窥打包签名流程 iOS数字签名及ipa重签名 ipa重签名的四种方式 ios 企...

  • Pandas-office-10分钟开始

    基本 1、创建数据框 2、查看数据 3、选择 4、缺失值 5、运用 6、交并 7、groupby 8、重组数据框 ...

  • iOS 防止 Charles 抓取数据

    iOS 防止 Charles 抓取数据 iOS 防止 Charles 抓取数据

  • iOS本地数据持久化

    iOS本地数据持久化 iOS本地数据持久化

  • iOS数据存储之NSCoder

    资源连接: iOS数据库存储之SQL语句; iOS数据库存储之SQLite3; iOS数据存储之文件沙盒; iOS...

网友评论

    本文标题:iOS数据重组

    本文链接:https://www.haomeiwen.com/subject/baynjttx.html