相关疑难解决方法(0)

如何计算Swift数组中元素的出现次数?

我已经看到了一些这方面的例子,但所有这些似乎依赖于知道你想要计算哪些元素的出现次数.我的数组是动态生成的,所以我无法知道我想要计算哪个元素的出现次数(我想计算所有这些元素的出现次数).任何人都可以建议吗?

提前致谢

编辑:

也许我应该更清楚,数组将包含多个不同的字符串(例如 ["FOO", "FOO", "BAR", "FOOBAR"]

如何在不知道它们是什么的情况下计算foo,bar和foobar的出现次数?

arrays nsarray ios swift

47
推荐指数
4
解决办法
4万
查看次数

Swift中数组的直方图

我正在尝试编写一个在a上运行的通用直方图函数Array,但由于Type'Element'不符合协议'Hashable',我遇到了困难.

extension Array {
    func histogram() -> [Array.Element: Int] {
        return self.reduce([Array.Element: Int]()) { (acc, key) in
                let value = (acc[key] == nil) ? 1 : (acc[key]! + 1)
                return acc.dictionaryByUpdatingKey(key: key, value: value)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

其中dictionaryByUpdatingKey(...)变异现有词典如下:

extension Dictionary {
    func dictionaryByUpdatingKey(key: Dictionary.Key, value: Dictionary.Value) -> Dictionary {
        var mutableSelf = self
        let _ = mutableSelf.updateValue(value, forKey: key)
        return mutableSelf
    }
}
Run Code Online (Sandbox Code Playgroud)

我曾尝试更换Array.ElementAnyHashable,然后强迫key as! AnyHashable,但这似乎凌乱和返回类型最好是相同类型的Array.Element,而不是 …

arrays histogram ios swift

3
推荐指数
1
解决办法
573
查看次数

标签 统计

arrays ×2

ios ×2

swift ×2

histogram ×1

nsarray ×1