ios - 如何在 Swift 5 中检查 3 个变量是否相等?
问题描述
我目前正在开发一个需要相互比较三个变量的应用程序。
比较规则:只有在以下情况下,结果才应该为真: 所有三个变量都相等或所有三个变量都不同
我的第一个想法是这样的,但我希望有一个更优雅的解决方案:
if (value1 == value2 && value2 == value3) || (value1 != value2 && value2 != value3 && value3 != value1) {
// True
} else {
// False
}
如果你们中的某个人能想到一个更优雅的解决方案并与我分享,我会非常高兴。提前感谢您的帮助!
解决方案
如果您的值也是Hashable
,您可以使用Set
. 鉴于 aSet
会丢弃重复值,您可以将检查简化为如下所示:
let valuesArray = [value1, value2, value3]
let valuesSet = Set(valuesArray)
if valuesSet.count == 1 || valuesSet.count == valuesArray.count {
// True
} else {
// False
}
推荐阅读
- browser - Bug?:当浏览器窗口放大到100%以上时,很多浏览器在窗口被挤压时会在右侧剪切一个直接加载的.jpg文件
- svelte - 有没有更好的方法可以使用 dexie 在 svelte 中编写此代码?
- apache - 内容安全策略正在阻止 Firefox 中的 svg 图标精灵
- google-chrome-extension - Firefox 扩展共享异步函数返回给 => 错误:访问属性“then”的权限被拒绝
- javascript - 为什么这在更改用户名时不会自行呈现。从火力基地得到反应
- javascript - 在任何图表中更改弧线颜色和值
- python - 我在使用 Tweepy 时遇到错误,我不确定为什么它说我正在通过更多职位
- wordpress - Wordpress - 在单页上显示类别
- monetdb - 使用 WITH 的 UPDATE 语句在 MonetDB 中不起作用
- javascript - 我为带有 csp 和烧瓶的内联 js 实现 nonce 有什么问题?