美文网首页
对数组里的数据进行排序

对数组里的数据进行排序

作者: 独孤流 | 来源:发表于2021-11-18 22:05 被阅读0次

记录一些常用的排序api使用的方法:NSSortDescriptorNSComparator

1、[xxx sortedArrayUsingDescriptors:xx]

排序后返回一个新的不可变数组,NSArrayNSMutableArray都可以使用

// 数组里是简单的数字或字符串的排序
NSSortDescriptor *sortDesc = [[NSSortDescriptor alloc] initWithKey:nil ascending:YES];
NSArray *simpleList1 = @[@1,@3,@2,@5,@4];
NSMutableArray *simpleList1M = [@[@1,@3,@2,@5,@4] mutableCopy];
// 排完序后返回一个不可变数组
NSArray *simpleList1Sorted = [simpleList1 sortedArrayUsingDescriptors:@[sortDesc]];
NSArray *simpleList1MSorted = [simpleList1M sortedArrayUsingDescriptors:@[sortDesc]];

// 数据里是字典或其他model等复杂的排序
NSSortDescriptor *sortDesc2 = [[NSSortDescriptor alloc] initWithKey:@"sortCode" ascending:YES];
NSArray *complexList1 = @[@{@"name":@"aa",@"sortCode":@1},@{@"name":@"cc",@"sortCode":@3},@{@"name":@"bb",@"sortCode":@2}];
NSArray *complexList1Sorted = [complexList1 sortedArrayUsingDescriptors:@[sortDesc2]];

2、[xxx sortUsingDescriptors:xx]

对原数组进行排序,只有NSMutableArray可以使用

// 数组里是简单的数字或字符串的排序
NSSortDescriptor *sortDesc = [[NSSortDescriptor alloc] initWithKey:nil ascending:YES];
NSMutableArray *simpleList1M = [@[@1,@3,@2,@5,@4] mutableCopy];
// 对原数组进行排序
[simpleList1M sortUsingDescriptors:@[sortDesc]];

// 数据里是字典或其他model等复杂的排序
NSSortDescriptor *sortDesc2 = [[NSSortDescriptor alloc] initWithKey:@"sortCode" ascending:YES];
NSMutableArray *complexList1M = [@[@{@"name":@"aa",@"sortCode":@1},@{@"name":@"cc",@"sortCode":@3},@{@"name":@"bb",@"sortCode":@2}] mutableCopy];
[complexList1M sortUsingDescriptors:@[sortDesc]];

相关文章

  • 对数组里的数据进行排序

    记录一些常用的排序api使用的方法:NSSortDescriptor、NSComparator 1、[xxx so...

  • redis 排序

    SORT命令通过将被排序键包含的元素载入到数组里面,然后对数据进行排序来完成对键进行排序的工作。在默认情况下,SO...

  • Redis - 排序

    Redis - 排序 SORT命令通过将被排序键包含的元素载入到数组里,然后对数组进行排序来完成对键进行排序的工作...

  • 数据排序

    数据排序 为了方便查看数据,可以对数据进行排序 语法: 说明

  • 使用Pandas对数据进行筛选和排序

    使用Pandas对数据进行筛选和排序

  • 入门2

    透视表的排序问题 排序时用数据选项卡中的排序进行排序,不要在字段中排 自定义排序 对数据透视表进行数据筛选 数据透...

  • MySQL 排序,分页功能

    数据排序 为了方便查看数据,可以对数据进行排序,语法: select * from 表名 order by...

  • MySQL:union all与union区别详解

    union 是对数据进行并集操作,不包括重复行,同时进行默认排序 Union all 是对数据进行并集操作,包括重...

  • 数据库基础:MySQL实战查询排序

    排序 为了方便查看数据,可以对数据进行排序 将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2排序,以...

  • 2018-07-27排序和分页

    排序 为了方便查看数据,可以对数据进行排序 语法: 将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2...

网友评论

      本文标题:对数组里的数据进行排序

      本文链接:https://www.haomeiwen.com/subject/lnujtrtx.html