首页 > 代码库 > 数组排序

数组排序

iphone开发数组排序(数组中包括字典)  

 
1。普通数组排序:
     NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"0",@"8",@"6",@"1",nil];
     NSArray *sortedArray = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2){
if ([obj1 intValue] > [obj2 intValue]){
return NSOrderedDescending;
}
if ([obj1 intValue] < [obj2 intValue]){
return NSOrderedAscending;
}
return NSOrderedSame;
}];
      NSLog(@"排序后的数组:%@",sortedArray);
 
2.数组中有字典的排序:
    NSMutableArray *myMutableArr = [[[NSMutableArray alloc] init] autorelease];
    NSDictionary *dicOne = [NSDictionary dictionaryWithObjectsAndKeys:@"1",@"price",@"2",@"number", nil];
    NSDictionary *dicTWo = [NSDictionary dictionaryWithObjectsAndKeys:@"6",@"price",@"5",@"number", nil];
    NSDictionary *dicThree = [NSDictionary dictionaryWithObjectsAndKeys:@"3",@"price",@"1",@"number", nil];
    NSDictionary *dicFour = [NSDictionary dictionaryWithObjectsAndKeys:@"4",@"price",@"3",@"number", nil];
    [myMutableArr addObject:dicOne];
    [myMutableArr addObject:dicTWo];
    [myMutableArr addObject:dicThree];
    [myMutableArr addObject:dicFour];
    
    NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"price" ascending:YES]];
    [myMutableArr sortUsingDescriptors:sortDescriptors];
    NSLog(@"排序后的数组%@",myMutableArr);
 
经验证,上面的方式相当方便,尤其是数组中有字典的情况。