假设有两个数组…
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