<h3><p><span style="font-size:18px;font-weight: normal;">需求分析:</span></p><p><span style="font-size:18px;font-weight: normal;">有时候需对一个数组分组,把相同的值归成一类,需要对同样的值进行统计,所以根据这个需要要对数组进行按值分组
</span></p><p><span style="font-size:18px;font-weight: normal;"> 根据这个需求,下面通过一个简单的实例来完成需求.</span></p></h3>
<h3><p><span style="font-size:18px;font-weight: normal;">需求分析:</span></p><p><span style="font-size:18px;font-weight: normal;">有时候需对一个数组分组,把相同的值归成一类,需要对同样的值进行统计,所以根据这个需要要对数组进行按值分组
</span></p><p><span style="font-size:18px;font-weight: normal;"> 根据这个需求,下面通过一个简单的实例来完成需求.</span></p></h3>
<span style="font-size:18px;font-weight: normal;">let list = ["a","a","b","b","c","d","a"];
let set = NSMutableSet();
for item in list {
set.addObject(item);
}
</span><h3><span style="font-size:18px;font-weight: normal;">var newList = [[String]]();</span></h3><span style="font-size:18px;font-weight: normal;">set.enumerateObjectsUsingBlock { (obj, pointer) in
let result = list.filter({ (newObj) -> Bool in
return obj as! String == newObj;
})
newList.append(result);
}
print("set = \(set)");
print("newList = \(newList)");</span>
首先有个数组,list,要准备分组的数据.然后创建一个set集合,利用set集合的唯一性,遍历list,把数据加到set集合里,这样就可以分出数据,但是他们只是一条没有统计
然后在遍历集合set,根据set里的值过滤list数组,把结果放进一个新的数组里,最后的到的结果,就是分出的数组的分组.
结论: 这样的做法感觉有点怪怪的,好像是走了一个弯路一样,但是现在还没有找到一个比这个更好的办法,如果大家有更好的方法,可以共享一下,我也想知道,也想学习一下,好的方法都是受青睐的.哈哈,共同努力吧,书山有路勤为径,学海无涯苦作舟.OK,就到这里,我们下次见.....对了我这里有一篇文章,可以参考一下http://www.cnblogs.com/unintersky/p/4053857.html,分享总是一件好事,当然越多越好.