如题:从数组中把相同元素放到一个数组中,返回一个二维数组
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);
网友评论