您的位置:首页 > 其它

数组内元素的排序

2016-03-16 15:13 295 查看
//把数组内的元素按着字母的生序排列,compare是系统的方法,不必实现
+(NSString *)handelDictionary:(NSArray *)array
{
NSMutableArray * sortArray = [[NSMutableArray alloc]init];
for (id _obj in [<span style="font-family: Arial, Helvetica, sans-serif;">array </span><span style="font-family: Arial, Helvetica, sans-serif;"> sortedArrayUsingSelector:@selector(compare:)]) {</span>
[sortArray addObject:_obj];
}

}

类似的我们还可去处理以一个装有字典的数组,可以把里面的字典按着key的顺序排列起来。

1 、先把所有的key存在一个数里面,

2、然后使用上面的方法给排序, key的顺序有了,也就搞定了

具体代码如下:

NSMutableDictionary *dictionary = [[NSMutableDictionary alloc]init];//最终的字典
NSMutableArray *allKeys= [[NSMutableArray alloc]init];//所有的key
//把小字典合并成 大字典
for (int i=0; i<array.count; i++) {

//忽略掉非字典的成分
if([array[i] isKindOfClass:[NSDictionary class]] || [array[i] isKindOfClass:[NSMutableDictionary class]]) {

//取出每个小字典和key
NSMutableDictionary *  dic = array[i];
NSArray *keys = [dic allKeys];

//拼大字典
for (int i = 0; i<keys.count; i++) {
[allKeys addObject:keys[i]];
[dictionary setObject:[dic objectForKey:keys[i]] forKey:keys[i]];
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: