map()
方法通过对数组中的每个元素应用相同的操作来转换数组。
示例
var numbers = [1, 2, 3, 4]
// add 2 to each element
var result = numbers.map({ $0 + 2})
print(result)
// Output: [3, 4, 5, 6]
map() 语法
map()
方法的语法是
array.map(transform)
其中,array 是 Array
类的一个对象。
map() 参数
map()
方法接受一个参数
- transform - 一个闭包体,描述了要进行的转换类型。
map() 返回值
- 返回一个包含转换后元素的新数组。
示例 1:Swift 数组 map()
var numbers = [1, 2, 3]
// multiply each elements by 3
var result = numbers.map { $0 * 3 }
print(result)
输出
[3, 6, 9]
在上面的示例中,我们使用 map()
方法转换了 numbers 数组。注意闭包的定义,
{ $0 * 3 }
这是一个简短的闭包,它将 numbers 的每个元素乘以 **3**。
$0
是指向传递到闭包的第一个参数的快捷方式。
最后,我们将转换后的元素存储在 result 变量中。
示例 2:使用 map() 将字符串数组转换为大写
// define array of Strings
var languages = ["swift", "java", "python"]
print("Before:", languages)
// use map() and uppercased() to transform array
var result = languages.map { $0.uppercased() }
print("After:", result)
输出
Before: ["swift", "java", "python"] After: ["SWIFT", "JAVA", "PYTHON"]
在上面的示例中,我们使用 map()
和 uppercased()
方法转换了 languages 数组的每个元素。
uppercased()
方法将数组的每个字符串元素转换为大写。转换后的数组存储在 result 变量中。