计算数组数组中的项目
Posted
技术标签:
【中文标题】计算数组数组中的项目【英文标题】:Count items in array of array 【发布时间】:2018-01-30 15:54:53 【问题描述】:我有一个数组作为“可转换”存储在核心数据中
例如
colorArray = [[Red, Blue, Green], [Red], [Blue, Green], [Green], [Blue], [Blue, Green, Red]]
我想要一个函数来计算每种颜色在核心数据属性 (colorArray) 中出现的总次数。因此,对于上述数据,该函数将打印:
Red = 3
Blue = 4
Green = 4
最好的方法是什么?
【问题讨论】:
【参考方案1】: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))")
【讨论】:
谢谢。如果我将代码中的数组设置为:[["Red", "Blue", "Green"], ["Red"], ["Blue", "Green"], ["Green"] , ["Blue"], ["Blue", "Green", "Red"]] 但是,我无法从核心数据中检索到我想要的实际数组。你知道怎么做吗?我将它保存在一个名为“项目”的实体中。属性名称为colorArray,类型为可变形 如果它是可变形的,为什么你不能检索它? 我使用了String
,因为我仍然不知道颜色名称代表什么。以上是关于计算数组数组中的项目的主要内容,如果未能解决你的问题,请参考以下文章
我想通过将输入数组的所有项目相乘来计算,但除了第 i 个项目