这个function的目的是在一组数组中,找到相同的元素,并列出重复出现了多少次,下面是代码
func findCommonElement(array: [String]) -> [String:Int] {
var colorDic : [String:Int] = [:]
for color in array {
if let count = colorDic[color] {
colorDic[color] = count + 1
} else {
colorDic[color] = 1
}
}
let max = colorDic.values.max()!
let newDic = colorDic.filter { (dic) -> Bool in
dic.value == max
}
return newDic
}
我用了一个字典的写法,首先进去一个for loop,如果在这个colorDic的字典中出现过,哪它的value,这里我用的是count,就加1,如果没有出现过,哪count就是1。然后我写了一个max代表这个字典里value的最大数,再用一个filter过滤只等于value的字典,等到一个新的字典,就可以求到这个数组里的重复的值以及重复的次数