Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何删除数组中的重复元素-swift 3_Ios_Swift_Xcode_Swift3 - Fatal编程技术网

Ios 如何删除数组中的重复元素-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)) 说明: 首先将图像转换为一组。这将删除所有

我想从数组中删除重复的元素。除了swift 3,堆栈溢出中有很多答案

我的阵列:

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:这个答案中的例子是重复的。这将不会保留原始数组的元素顺序@埃里卡伊涅是真的。添加了一个注释来说明这一点。