- 使用sort方法和闭包对数组进行排序
var array: Array<Int> = [1, 4, 1, 2, 2, 4, 12, 6, 8]
// 从大到小对数组排序
func xx(num1: Int, num2: Int) -> Bool {
return num1 > num2
}
array.sort(by: xx)
array.sort(by: {(num1: Int, num2: Int) -> Bool in return num1 > num2 })
- 可以不用指定参数类型,编译器会帮我们判断
var array: Array<Int> =[1, 4, 1, 2, 2, 4, 12, 6, 8]
array.sort(by: {(num1, num2) in
return num1 > num2
})
array
- 可以省略参数名,直接根据数字来引用参数
var array: Array<Int> = [1, 4, 1, 2, 2, 4, 12, 6, 8]
array.sort(by: {
return $0 > $1
})
- 如果闭包只有一行代码,可以省略return
var array: Array<Int> =[1, 4, 1, 2, 2, 4, 12, 6, 8]
array.sort(by: {
$0 > $1
})
- 如果闭包是函数调用的最后一个参数,可以将闭包放到括号外面,提高代码的可读性
var array: Array<Int> =[1, 4, 1, 2, 2, 4, 12, 6, 8]
array.sort(){
$0 > $1
}
- 换行也是可选的,代码可以继续简洁
var array: Array<Int> = [1, 4, 1, 2, 2, 4, 12, 6, 8]
array.sort(){$0 > $1}
网友评论