我有一些这样的数据:
1,5,2,9,7,6,3,8,0,4
但我真的想要这个:
5,6,7,8,9
仅从5开始。
我用这个:
NSArray *ary = @[ @"1", @"5", @"2", @"9", @"7", @"6", @"3", @"8", @"0", @"4" ];
NSArray *myArray = [ary sortedArrayUsingDescriptors:
@[[NSSortDescriptor sortDescriptorWithKey:@"doubleValue" ascending:YES]]];
答案 0 :(得分:1)
NSString *numberExpr =@"^[5-9]";
NSArray *ary = @[ @"1", @"5", @"2", @"9", @"7", @"6", @"3", @"8", @"0", @"4" ];
NSArray *myArray= [ary filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self MATCHES %@",numberExpr]];
答案 1 :(得分:0)
此解决方案将内容视为数字,如问题的示例代码所示。
double startingValue = 5;
NSArray *ary = @[ @"1", @"5", @"2", @"9", @"7", @"6", @"3", @"8", @"0", @"4" ];
NSArray *myArray= [ary filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self.doubleValue >= %@", @(startingValue)]];
myArray = [myArray sortedArrayUsingDescriptors:
@[[NSSortDescriptor sortDescriptorWithKey:@"doubleValue" ascending:YES]]];