iOS 根据数组中的字典的value值进行排序

该博客主要围绕iOS开发,讲述了如何对数组中的字典按其值进行排序,属于移动开发领域的信息技术内容。
            NSMutableArray *resArr = [NSMutableArray array];
            
            // 先把所有值的装进一个数组中
            NSMutableArray *valArr = [NSMutableArray array];
            for (int i = 0; i < arr.count; i ++) {
                
                NSDictionary *dic = arr[i];
                
                
                NSString * str = [NSString stringWithFormat:@"%@-%d",dic[@"CountNum"],i];
                
                [valArr addObject:str];
                
            }
            
            // 未排序前的源数组 valArr
            
            // 排序后的值数组 after
            
            NSMutableArray *afterValArr = [valArr mutableCopy];
            
            // 根据索引进行依次的排序
            
            for (int  i =0; i<[afterValArr count]-1; i++) {
                
                for (int j = i+1; j<[afterValArr count]; j++) {
                    
                    NSString *val1 = [afterValArr[i] componentsSeparatedByString:@"-"][0];
                    NSString *val2 = [afterValArr[j] componentsSeparatedByString:@"-"][0];
                    
                    
                    
                    if ([val1 intValue]>[val2 intValue]) {
                        //交换
                        [afterValArr exchangeObjectAtIndex:i withObjectAtIndex:j];
                    }
                    
                }
                
            }
            
            for (int i = 0; i < arr.count; i ++) {
                
                NSNumber * val = afterValArr[i];
                NSInteger idx = [valArr indexOfObject:val];
                [resArr addObject:arr[idx]];
            }
            
            [self.modelArr addObjectsFromArray:[[resArr reverseObjectEnumerator]allObjects]];
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值