arrays - 你如何在 swift 中对结构数组进行排序

标签 arrays sorting swift

我有一个结构数组,如果可能的话,我希望能够使用 sort() 按两个变量中的任何一个对它进行排序

struct{
    var deadline = 0
    var priority = 0
}

我查看了 Swift 编程语言文档中的 sort(),但它只显示了简单的数组。可以使用 sort() 还是我必须自己构建?

最佳答案

在同一个数组变量中排序

下面的排序函数完全相同,唯一的区别是它们有多简短和表达力:

完整声明:

myArr.sort { (lhs: EntryStruct, rhs: EntryStruct) -> Bool in
    // you can have additional code here
    return lhs.deadline < rhs.deadline
}

缩短的闭包声明:

myArr.sort { (lhs:EntryStruct, rhs:EntryStruct) in
    return lhs.deadline < rhs.deadline
}
// ... or even:
myArr.sort { (lhs, rhs) in return lhs.deadline < rhs.deadline }

紧凑的闭包声明:

myArr.sort { $0.deadline < $1.deadline }

排序到一个新的数组变量

完整声明:

let newArr = myArr.sorted { (lhs: EntryStruct, rhs: EntryStruct) -> Bool in
    // you can have additional code here
    return lhs.deadline < rhs.deadline
}

缩短的闭包声明:

let newArr = myArr.sorted { (lhs:EntryStruct, rhs:EntryStruct) in
    return lhs.deadline < rhs.deadline
}
// ... or even:
let newArr = myArr.sorted { (lhs, rhs) in return lhs.deadline < rhs.deadline }

紧凑的闭包声明:

let newArr = myArr.sorted { $0.deadline < $1.deadline }

关于arrays - 你如何在 swift 中对结构数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24781027/

相关文章:

python - Pandas 独立对多列进行排序

swift - Dart 中的列表排序与 Swift 中的排序列表不同

ios - 是否可以同时填充两个数组?

Javascript - 排序字母数字组合

c - 求二维数组中指定行和列的最大值 C

ios - 如何过滤 [[String :String]] using UISearchBar and display as String 类型的数组

iphone - 如何在 Swift 中将字典数组从一个 TableView 传递到另一个自定义 TableView

swift - Xcode 8.2 给出 NSManagedObject 子类的损坏代码

java - 需要读入 ArrayList 并将正数和负数分开

C# 如何在反向字节数组中查找字节数组?