【问题标题】: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

最好的方法是什么?

【问题讨论】:

    标签: arrays core-data swift4 nsfetchrequest


    【解决方案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,因为我仍然不知道颜色名称代表什么。
    猜你喜欢
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多