我可能有一个如下所示的数组:
[1, 4, 2, 2, 6, 24, 15, 2, 60, 15, 6]
或者,实际上,任何类似数据类型的序列.我想要做的是确保每个相同的元素只有一个.例如,上面的数组将变为:
[1, 4, 2, 6, 24, 15, 60]
请注意,删除了重复的2,6和15,以确保每个相同的元素只有一个.Swift是否提供了一种轻松完成此操作的方法,或者我自己必须这样做?
因为我经常使用这个例程,有人可以创建一个Swift数组的扩展方法,它会检测是否已经存在要附加的数据,那么它是否会被追加?我知道这只是几个代码的问题:
var arr = [Int]()
for element in inputArr {
if !arr.contains(element) { arr.append(element); }
}
Run Code Online (Sandbox Code Playgroud)
变为:
var arr = [Int]()
for element in inputArr { arr.appendUnique(element); }
Run Code Online (Sandbox Code Playgroud)
要么:
var arr = [String]()
for element in inputArr {
if !arr.contains(element) { arr.append(element); }
}
Run Code Online (Sandbox Code Playgroud)
变为:
var arr = [String]()
for element in inputArr { arr.appendUnique(element); }
Run Code Online (Sandbox Code Playgroud)
不同元素类型的方法相同.坦率地说,从这个简单的代码,我也想学习如何扩展Collectionwith变量类型.每当使用不同的参数类型初始化对象时,Array的方法可以具有不同的参数类型,这让我着迷.数组和字典是我仍然无法正确扩展它们的两件事.谢谢.