计算数组数组中的项目
Count items in array of array
我有一个数组数组存储在核心数据中作为 "Transformable"
例如
colorArray = [[Red, Blue, Green], [Red], [Blue, Green], [Green], [Blue], [Blue, Green, Red]]
我想要一个函数来计算每种颜色在核心数据属性 (colorArray) 中出现的总次数。因此,对于上述数据,该函数将打印:
Red = 3
Blue = 4
Green = 4
最好的方法是什么?
使用 NSCountedSet
的简单解决方案。
- 展平数组。
- 从数组创建计数集。
- 枚举集合。
示例使用字符串
let colorArray = [["Red", "Blue", "Green"], ["Red"], ["Blue", "Green"], ["Green"], ["Blue"], ["Blue", "Green", "Red"]]
let flattened = colorArray.reduce([], +)
let set = NSCountedSet(array: flattened)
for element in set {
print("\(element) = \(set.count(for: element))")
}
我有一个数组数组存储在核心数据中作为 "Transformable"
例如
colorArray = [[Red, Blue, Green], [Red], [Blue, Green], [Green], [Blue], [Blue, Green, Red]]
我想要一个函数来计算每种颜色在核心数据属性 (colorArray) 中出现的总次数。因此,对于上述数据,该函数将打印:
Red = 3
Blue = 4
Green = 4
最好的方法是什么?
使用 NSCountedSet
的简单解决方案。
- 展平数组。
- 从数组创建计数集。
- 枚举集合。
示例使用字符串
let colorArray = [["Red", "Blue", "Green"], ["Red"], ["Blue", "Green"], ["Green"], ["Blue"], ["Blue", "Green", "Red"]]
let flattened = colorArray.reduce([], +)
let set = NSCountedSet(array: flattened)
for element in set {
print("\(element) = \(set.count(for: element))")
}