Ios 如何删除数组中的重复元素-swift 3
我想从数组中删除重复的元素。除了swift 3,堆栈溢出中有很多答案 我的阵列:Ios 如何删除数组中的重复元素-swift 3,ios,swift,xcode,swift3,Ios,Swift,Xcode,Swift3,我想从数组中删除重复的元素。除了swift 3,堆栈溢出中有很多答案 我的阵列: var images = [InputSource]() ... // append to array 如何从此数组中删除重复元素 swift 3是否有任何本机api?请确保InputSource实现Hashable,否则swift无法知道哪些元素相等,哪些元素不相等 你只要这样做: let withoutDuplicates = Array(Set(images)) 说明: 首先将图像转换为一组。这将删除所有
var images = [InputSource]()
... // append to array
如何从此数组中删除重复元素
swift 3是否有任何本机api?请确保InputSource实现Hashable,否则swift无法知道哪些元素相等,哪些元素不相等
你只要这样做:
let withoutDuplicates = Array(Set(images))
说明:
首先将图像转换为一组。这将删除所有重复项,因为集合只能包含不同的元素。然后我们将集合转换回数组
根据,这可能是由编译器优化的
这样做的缺点是可能无法保持原始数组的顺序。您可能需要使用Set //初始化数组 var样本=[1,2,3,4,5,2,4,1,4,3,6,5] //删除重复项: 样本=阵列样本
printsample如果顺序不重要,则应使用集合。集合仅包含唯一的元素。您还可以从数组中创建一个集合,以消除重复项。对所有Swift版本都有答案。您从stackOverflow中尝试了什么?您面临什么问题?如何将我的数组实现为可散列的?@S.M_Emamian有很多散列代码的实现。其思想是每个不同的实例都有不同的哈希代码。如果两个实例具有相同的哈希代码,则认为它们相等。下面是一个例子:@S.M_Emamian:这个答案中的例子是重复的。这将不会保留原始数组的元素顺序@埃里卡伊涅是真的。添加了一个注释来说明这一点。