Swift 带谓词的自定义排序顺序
我有一个数组 arr=[“A”、“B”、“A”、“B”、“1”、“2”] 当我使用以下方法对其进行排序时:Swift 带谓词的自定义排序顺序,swift,Swift,我有一个数组 arr=[“A”、“B”、“A”、“B”、“1”、“2”] 当我使用以下方法对其进行排序时: arr.sorted(by: <) arr.sorted(by:我可能错了,但我认为您需要实现自己的自定义排序方法: var arr = ["A", "B", "a", "b", "1", "2"] arr.sort { if $0.first?.isLowercase == true && ($1.first?.isUppercase == true ||
arr.sorted(by: <)
arr.sorted(by:我可能错了,但我认为您需要实现自己的自定义排序方法:
var arr = ["A", "B", "a", "b", "1", "2"]
arr.sort {
if $0.first?.isLowercase == true && ($1.first?.isUppercase == true || $1.first?.isWholeNumber == true) {
return true
}
if $0.first?.isUppercase == true && $1.first?.isWholeNumber == true {
return true
}
if $0.first?.isWholeNumber == true && ($1.first?.isLowercase == true || $1.first?.isUppercase == true) {
return false
}
return $0 < $1
}
print(arr) // "["a", "b", "A", "B", "1", "2"]\n"
我可能错了,但我认为您需要实现自己的自定义排序方法:
var arr = ["A", "B", "a", "b", "1", "2"]
arr.sort {
if $0.first?.isLowercase == true && ($1.first?.isUppercase == true || $1.first?.isWholeNumber == true) {
return true
}
if $0.first?.isUppercase == true && $1.first?.isWholeNumber == true {
return true
}
if $0.first?.isWholeNumber == true && ($1.first?.isLowercase == true || $1.first?.isUppercase == true) {
return false
}
return $0 < $1
}
print(arr) // "["a", "b", "A", "B", "1", "2"]\n"
谢谢你详细的回答。太完美了。谢谢你详细的回答。太完美了。
var array = ["B","A","b", "a", "1", "2"]
do {
try array.customSort()
print(array) // "["a", "b", "A", "B", "1", "2"]\n"
} catch {
print(error)
}