整合数组中还有相同的元素,最后数组中显示原数组中相同的

   

    NSMutableDictionary *dic1 = [NSMutableDictionary dictionary];

    [dic1 setObject:@"123" forKey:@"orgPID"];

    [dic1 setObject:@"aaa" forKey:@"name"];

    NSMutableDictionary *dic2 = [NSMutableDictionary dictionary];

    [dic2 setObject:@"123" forKey:@"orgPID"];

    [dic2 setObject:@"aaa" forKey:@"name"];

    NSMutableDictionary *dic3 = [NSMutableDictionary dictionary];

    [dic3 setObject:@"456" forKey:@"orgPID"];

    [dic3 setObject:@"aaa" forKey:@"name"];


    NSArray*  array = @[dic1,dic2,dic3];



    // 遍历,创建组数组,组数组中的每一个元素是一个模型数组

    NSMutableArray *_groupArr = [NSMutableArray array];

    NSMutableArray *currentArr = [NSMutableArray array];


    // 因为肯定有一个字典返回,先添加一个

    [currentArr addObject:self.organizeArray[0]];

    [_groupArr addObject:currentArr];


    for (int i = 1; i < array.count; i++) {


        // 先取出组数组中 上一个模型数组的第一个字典模型的groupID

        NSMutableArray *preModelArr = [_groupArr objectAtIndex:_groupArr.count-1];

        int preGroupID = [[[preModelArr objectAtIndex:0] objectForKey:@"orgPID"] intValue];


        // 取出当前字典,根据groupID比较,如果相同则添加到同一个模型数组;如果不相同,说明不是同一个组的

        NSDictionary *currentDict = self.organizeArray[i];

        int groupID = [[currentDict objectForKey:@"orgPID"] intValue];


            if (groupID == preGroupID)

            {

                [currentArr addObject:currentDict];

            }else{

                //如果不相同,说明 有新的一组,那么创建一个模型数组,并添加到组数组

                currentArr = [NSMutableArray array];

                [currentArr addObject:currentDict];

                [_groupArr addObject:currentArr];

            }

        }


        NSLog(@"%@",currentArr);



       最后的currentArr里面只有dic1和dic2 的数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值