iOS:数组的元素为字典,根据字典某一元素值合并重复数据

数组的元素为字典,字典中多条id相同的元素合并为一个元素,并修改name值

                    for(int i = 0; i < rackSeatMutAry.count; i++)
                    {
                        NSMutableDictionary *oldDic =  [NSMutableDictionary dictionaryWithDictionary:rackSeatMutAry[i]];
                        NSString *oldIdStr = [NSString stringWithFormat:@"%@", oldDic[@"id"]];
                        
                        for(int j = i + 1; j < rackSeatMutAry.count; j++)
                        {
                            NSDictionary *newDic = rackSeatMutAry[j];
                            NSString *newIdStr = [NSString stringWithFormat:@"%@", newDic[@"id"]];
                            
                            NSString *locationEndStr = [NSString stringWithFormat:@"%@", newDic[@"locationEnd"]];

                            if([oldIdStr isEqualToString:newIdStr])
                            {
                                //拼接字符串
                                NSString *rackNameStr = [NSString stringWithFormat:@"%@", oldDic[@"rackName"]];
                                NSString *strUrl = [rackNameStr stringByReplacingOccurrencesOfString:@")" withString:@""]; // 去掉右括号
                                NSString *rackSeatNameStr = [NSString stringWithFormat:@"%@-%@)", strUrl, locationEndStr];
                                
                                //重新设置rackSeatName值
                                [oldDic setValue:rackSeatNameStr forKey:@"rackSeatName"];
                                [rackSeatMutAry setObject:oldDic atIndexedSubscript:i];
                                
                                [rackSeatMutAry removeObjectAtIndex:j];
                                j -= 1;
                            }

                        }
                    }
                    NSLog(@"newArray = %@\n", rackSeatMutAry);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值