arrays - 如何使用 Swift 显示数组的唯一元素?

标签 arrays swift sorting filter nsarray

<分区>

我有一个重新调整数组的公式,例如 var Array = [a,s,d,s,f,g,g,h,e]。我想要的是运行一个 for 循环或一些其他选项来返回 a,s,d,f,g,h,e - 只有唯一值。我如何使用 ios Swift 执行此操作?

最佳答案

如果您不关心顺序:

只需使用一组:

let set: Set = ["a", "s", "d", "s", "f", "g" , "g", "h", "e"]
print(set) // ["a", "s", "f", "g", "e", "d", "h"]

如果您关心顺序:

使用此扩展,它允许您删除任何 Sequence 的重复元素,同时保留顺序:

extension Sequence where Iterator.Element: Hashable {
    func unique() -> [Iterator.Element] {
        var alreadyAdded = Set<Iterator.Element>()
        return self.filter { alreadyAdded.insert($0).inserted }
    }
}

let array = ["a", "s", "d", "s", "f", "g" , "g", "h", "e"]
let result = array.unique()
print(result) // ["a", "s", "d", "f", "g", "h", "e"]

关于arrays - 如何使用 Swift 显示数组的唯一元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40579554/

相关文章:

php - 伪随机化一个数组,其中相似的值不连续

ios - HighCharts ios 禁用初始动画

python - 按属性值对对象进行排序且不允许出现间隙或重复的算法

javascript - 如何在javascript中对多维数组进行排序

java - 将二叉树转换为排序数组

arrays - 在 Matlab 问题中使用 FFT 进行二维反卷积

javascript - 从 JSON 文件到 React JS 文件的图像不显示

sql - 检查列表中的每个数字是否与 int4range[] 中的范围匹配

swift - 将控件添加到 IBDesignable View 的 subview

animation - 如何在 Swift 中将 gif 显示到 UIImageView 中?