Swift数组的sort、filter、forEach、map等⽅法,$的使⽤
swift⾃动为闭包提供参数名缩写功能,可以直接通过$0和$1等来表⽰闭包中的第⼀个第⼆个参数,并且对应的参数类型会根据函数类型来进⾏判断。并且in关键字也可以省略,只写函数体就可以了。
例如
arr.sorted { (a, b) in
return a < b
}
相当于
arr.sorted { $0 < $1 }
1.sort:数组排序
例如
let arr = [1,4,2,5,3]
let sortArr = arr.sorted { $0 < $1 }
print(sortArr)
对model数组排序
let sortArr = books.sorted { $0.id < $1.id }
print(sortArr)
2.filter:过滤数组中的元素,闭包⾥只写过滤的条件即可。
例如
let arr = [1,4,2,5,3]
let filterArr = arr.filter { $0 == 1 }
print(filterArr)
使⽤filter过滤viewController
if let viewControllers = navigationController?.viewControllers {
navigationController?.viewControllers = viewControllers.filter {
$0.isKind(of: GenerateEnterPasswordController.self) == false
}
}
filter过滤对象数组3.forEach:数组遍历
let arr = [1,4,2,5,3]
arr.forEach { print($0) }
4.map:数组中的每⼀个元素都做⼀次指定操作之后,返回⼀个新的数组
let arr = [1,4,2,5,3]
let mapArr = arr.map { $0 - 1 }
5.flatMap:数组中的每⼀个元素都做⼀次指定操作之后,返回⼀个新的数组B。(指定此操作必须返回⼀个数组A,数组A将被添加到数组B 中)。
let arr = [1,4,2,5,3]
let flatMapArr = arr.flatMap { i in
return [(i, 0)]
}
print(flatMapArr)
6.dropFirst:除去第⼀个元素以外的部分元素
dropFirst(n):除去前n个元素以外的部分元素
let arr = [1,4,2,5,3]
arr.dropFirst().forEach { print($0) }
7.dropLast:除去倒数第⼀个元素以外的部分元素dropLast(n):除去倒数后n个元素以外的部分元素
let arr = [1,4,2,5,3]
arr.dropLast(3).forEach { print($0) }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论