Array

43 阅读1分钟

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) {0+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 可以判断是否可选类型,是的话不会再做一层包装 如果内部是函数会将返回值传递到函数中去