iOS 处理数组中相同元素

如题:从数组中把相同元素放到一个数组中,返回一个二维数组

                NSDictionary *data = (NSDictionary *)response[@"data"];
                NSMutableArray *mutArray = [NSMutableArray new];
                for (NSDictionary *dict in data[@"products"]) {
                    BulkCarModel *model = [[BulkCarModel alloc]initWithDictionary:dict];
                    [mutArray addObject:model];
                }

                //创建一个存储处理结果的可变数组
                NSMutableArray *copyArr = [NSMutableArray new];
                //遍历源数组
                for (int i = 0; i < mutArray.count; i ++) {
                    
                    //创建一个存储相同元素的可变数组
                    NSMutableArray *tempArray = [NSMutableArray new];
                    //把数组中元素取出
                    BulkCarModel *iModel = mutArray[i];
                    //把第一个取出来的元素存储数组
                    [tempArray addObject:iModel];
                    
                    //从第一个取出来的元素的i值的下一个元素开始查找,查找和第一个元素相同的元素
                    for (int j = i + 1; j < mutArray.count; j ++) {
                        
                        //取出i值加1的元素
                        BulkCarModel *jModel = mutArray[j];
                        //比较i值和i值加1的两个元素是否相同
                        if ([iModel.shopName isEqualToString:jModel.shopName]) {
                            //如果两个元素相同,则把后一个元素添加到存储第一个元素的数组中
                            [tempArray addObject:jModel];
                            //把源数组中出现重复元素位置的元素移除
                            [mutArray removeObjectAtIndex:j];
                            //出现重复元素的时候,添加完成j值减1,继续查找
                            j -= 1;
                        }
                        
                    }
                    //查找完成一个元素后,把数组添加到处理结果数组,继续查找
                    [copyArr addObject:tempArray];
                    
                }
                NSLog(@"copyArr = %@",copyArr);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 4,054评论 2 13
  • 技术交流QQ群:1027579432,欢迎你的加入! 1.Cpp中的数组 C++支持数组数据结构,它可以存储一个固...
    CurryCoder阅读 1,640评论 0 1
  • 一、数组定义 array() 1、索引数组 在一个变量中,存储一个或多个值。数组中的每一个元素都有一个访问ID,根...
    竹与豆阅读 550评论 0 0
  • 第四天 数组【悟空教程】 第04天 Java基础 第1章数组 1.1数组概念 软件的基本功能是处理数据,而在处理数...
    Java帮帮阅读 1,622评论 0 9
  • 数组总共有22种方法,本文将其分为对象继承方法、数组转换方法、栈和队列方法、数组排序方法、数组拼接方法、创建子数组...
    Sachie阅读 935评论 0 7