ios - 检查所有数组元素是否匹配值

标签 ios swift set

<分区>

我找到了 this作为另一个问题的答案。它用于确定数组的所有元素是否匹配。

extension Array where Element : Equatable {
    func allEqual() -> Bool {
        if let firstElem = first {
            return !dropFirst().contains { $0 != firstElem }
        }
        return true
    }
}

我试着重构它,让它成为一个集合而不是数组,并且可以传入一个值,这样你就可以检查集合的每个元素是否与传入的值匹配。但是我没有快速的地方。我想是因为我也试图使值(value)成为通用的。非常感谢任何帮助!

最佳答案

集合不像数组。一方面,Set 是无序的,而 Array 是有序的。更重要的是,根据定义,所有 Set 元素都具有彼此不同的值。因此它们不能都匹配相同值。 (当然,除了 Set 只有一个元素的简单退化情况!)

关于ios - 检查所有数组元素是否匹配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35372482/

相关文章:

ios - 触发 Segue - 当 UITableView 完成重新加载时

python - 通过网络掩码删除重复的 IP 地址

c - 无法在集合程序 (C) 中获取数组

ios - UIWebview -- "Open/Copy"对话框以错误的方向打开

ios - 如何通过 Storyboard以编程方式设置首先加载哪个屏幕

ios - 没有订阅微软 azure 是否有可能获得 office 365 的访问 token ?-swift

python - 如果参数是一个集合,为什么 union 会消耗更多内存?

iphone - 通过 Interface Builder 的 ScrollView,ScrollView 没有完全滚动到底部

ios - 我如何获取 JT Apple 日历 View 的 indexpath.section

arrays - 循环每个表行中的数组数据