我可能有一个如下所示的数组:
[1, 4, 2, 2, 6, 24, 15, 2, 60, 15, 6]
或者,实际上,任何类似数据类型的序列.我想要做的是确保每个相同的元素只有一个.例如,上面的数组将变为:
[1, 4, 2, 6, 24, 15, 60]
请注意,删除了重复的2,6和15,以确保每个相同的元素只有一个.Swift是否提供了一种轻松完成此操作的方法,或者我自己必须这样做?
说我有一个struct,可能是任何东西:
struct Cube {
var x: Int
var y: Int
var z: Int
var width: Int
// ...
}
Run Code Online (Sandbox Code Playgroud)
然后我如何创建Set这些点,这样就不会有两个具有相同属性的对象?
let points: Set<Cube> = Set()
// Type ‘Cube’ does not conform to protocol ‘Hashable’
Run Code Online (Sandbox Code Playgroud)
但是如何实现hashable并不是显而易见的.根据我的阅读,我需要创建一个哈希函数,但是在结构中我拥有的属性数量看起来并不容易.