let arr = [1,2,3,4,5]
let arr1 = arr.map { i in
i * 100
}
// 过滤
let arr2 = arr.filter { i in
return i > 2
}
arr.reduce(0) { result, elem in
return result + elem
}
arr.reduce(0) {1}
print(arr2)
let arr = Array.init(repeating: 5, count: 3)打印[5, 5, 5]
var arr = [1,2,3] var arr1 = arr.map{Array.init(repeating: $0, count: $0)}
var arr2 = arr.flatMap{Array.init(repeating: $0, count: $0)}
// 可以过滤nil 去除optional
arr.compactMap(Int($0))
var arr = [1,2,3]
调用时候才加载
arr.lazy.map { i in
}
map 如果调用对象为nil 直接返回nil
flagMap 可以判断是否可选类型,是的话不会再做一层包装 如果内部是函数会将返回值传递到函数中去