DCo*_*gan 18 arrays sorting swift
我有一个结构数组,如果可能的话,我希望能够使用sort()通过两个变量中的任何一个对它进行排序
struct{
var deadline = 0
var priority = 0
}
Run Code Online (Sandbox Code Playgroud)
我在Swift编程语言的文档中查看了sort(),但它只显示了简单的数组.可以使用sort()还是我必须自己构建?
Kee*_*nle 38
下面的排序函数完全相同,唯一的区别是它们有多短和富有表现力:
完整声明:
myArr.sort { (lhs: EntryStruct, rhs: EntryStruct) -> Bool in
// you can have additional code here
return lhs.deadline < rhs.deadline
}
Run Code Online (Sandbox Code Playgroud)
缩短封闭声明:
myArr.sort { (lhs:EntryStruct, rhs:EntryStruct) in
return lhs.deadline < rhs.deadline
}
// ... or even:
myArr.sort { (lhs, rhs) in return lhs.deadline < rhs.deadline }
Run Code Online (Sandbox Code Playgroud)
紧凑的封闭声明:
myArr.sort { $0.deadline < $1.deadline }
Run Code Online (Sandbox Code Playgroud)
完整声明:
let newArr = myArr.sorted { (lhs: EntryStruct, rhs: EntryStruct) -> Bool in
// you can have additional code here
return lhs.deadline < rhs.deadline
}
Run Code Online (Sandbox Code Playgroud)
缩短封闭声明:
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 }
Run Code Online (Sandbox Code Playgroud)
紧凑的封闭声明:
let newArr = myArr.sorted { $0.deadline < $1.deadline }
Run Code Online (Sandbox Code Playgroud)