假设有两个数组...
var array1 = ["a", "b", "c"]
var array2 = ["b", "c", "a"]
我希望这两个数组的比较结果为真,以下......
var array1 = ["a", "b", "c"]
var array2 = ["b", "c", "a", "d"]
……是假的。我怎样才能在 Swift 中实现这一点?我尝试将两个数组都转换为集合,但由于某种原因 Set() 不断删除数组包含的一些(通常是重复的)对象。
任何帮助,将不胜感激。
斯威夫特 3, 4
extension Array where Element: Comparable {
func containsSameElements(as other: [Element]) -> Bool {
return self.count == other.count && self.sorted() == other.sorted()
}
}
// usage
let a: [Int] = [1, 2, 3, 3, 3]
let b: [Int] = [1, 3, 3, 3, 2]
let c: [Int] = [1, 2, 2, 3, 3, 3]
print(a.containsSameElements(as: b)) // true
print(a.containsSameElements(as: c)) // false
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)