iOS --一个简单的方法实现对数组中相同属性值对象进行分组

相信大家或多或少都会遇到这类问题,即: ios 数组中相同属性值对象进行分组 - 简书

一个数组中很多对象,将对象某一属性值相等的分别放到一个数组。

比如有一个数组包含所有的学生student,但各个学生可能拥有共同的老师teacher,现在将老师相同的学生放在一起,并且不打乱学生之间的顺序(所以不要用字典),实现起来可能有很多种方法,那么如何实现这个需求?

话不多说,直接上代码
        NSMutableArray * dataArray = [NSMutableArray array];
        
        while (studentArray.count) {

            NSArray * tmpArray = [studentArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"teacher = %@",studentArray.firstObject.teacher]];
            
            [dataArray addObject:tmpArray];
            
            [studentArray removeObjectsInArray:tmpArray];
        }

这样重新生成的dataArray里就会有多个以老师teacher划分的数组了,每个数组里有着属于该老师下的学生

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容