我想对数字进行升序排序,包括它们的索引,这里我已经实现了这样的排序。
PriceArray = [
" 93",
" 112.8",
" 138.45",
" 127.25",
" 117.25",
" 114.45"
]
通过使用这个,
NSArray *myArray = [priceArray sortedArrayUsingDescriptors:
@[[NSSortDescriptor sortDescriptorWithKey"doubleValue"
ascending:YES]]];
排序后这个数据就出来了
[
" 93",
" 112.8",
" 114.45",
" 117.25",
" 127.25",
"138.45"
]
但我想对包括索引的数据进行排序
[
[
" 93",
"0"
],
[
" 112.8",
"1"
],
[
" 114.45",
"5"
],
[
" 117.25",
"4"
],
[
" 127.25",
"3"
],
[
" 138.45",
"2"
]
]
你能建议我如何实现这个吗?谢谢。。
Best Answer-推荐答案 strong>
NSArray *priceArray = @[
@" 93",
@" 112.8",
@" 138.45",
@" 127.25",
@" 117.25",
@" 114.45"
];
NSMutableArray *output = [NSMutableArray new];
for(NSInteger i=0;i<[priceArray count];i++){
NSArray *dataWithIndex = @[priceArray[i],@(i)];
[output addObject:dataWithIndex];
}
NSArray *sorted = [output sortedArrayUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) {
return [[obj1 firstObject] doubleValue]>[[obj2 firstObject] doubleValue];
}];
NSLog(@"%@",sorted);
关于ios - 使用索引进行数字排序,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/41018082/
|