相信大家或多或少都会遇到这类问题,即: 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
划分的数组了,每个数组里有着属于该老师下的学生