Swift使用map(_ :)转换数组的元素

示例

如Array符合SequenceType,我们可以使用map(_:)转化的阵列A到阵列B使用类型的封闭(A) throws -> B。

例如,我们可以使用它将Ints数组转换为s数组,String如下所示:

let numbers = [1, 2, 3, 4, 5]
let words =numbers.map{ String($0) }
print(words) // ["1", "2", "3", "4", "5"]

map(_:)将遍历数组,将给定的闭包应用于每个元素。关闭的结果将用于使用转换后的元素填充新数组。

由于String有一个初始化器接收,Int我们也可以使用以下更清晰的语法:

let words = numbers.map(String.init)

甲map(_:)变换不必改变数组的类型-例如,它也可以被用于乘以阵列Int由两个s:

let numbers = [1, 2, 3, 4, 5]
let numbersTimes2 =numbers.map{$0 * 2}
print(numbersTimes2) // [2、4、6、8、10]