一、概述
Swift Array 是一个用于存储有序、相同类型数据的集合。Array 很多时候作为我们日常开发中的必备数据结构。在 Swift 中,拥有强类型系统的 Array 在很多时候会更加方便与安全。
二、基本操作
Array 的基本操作包括创建、访问、插入、删除和遍历。
1. 创建 Array
let emptyArr: [String] = []
let arr = ["a", "b", "c"]
let sameValuesArr = Array(repeating: "a", count: 3)
以上分别创建了一个空数组、一个包含 "a", "b", "c" 的数组和一个包含三个 "a" 的数组。
2. 访问 Array
let arr = ["a", "b", "c"]
let itemAtIndexOne = arr[1]
以上代码中,我们使用下标访问了数组中第二个元素 "b"。
3. 插入 & 删除 Array 中的元素
var arr = [1, 2, 3]
arr.append(4) // [1, 2, 3, 4]
arr.insert(0, at: 0) // [0, 1, 2, 3, 4]
let removedItem = arr.removeLast() // [0, 1, 2, 3]
以上代码中,我们在数组 arr 的末尾添加了一个元素 4,然后插入了一个值为 0 的元素到第一个位置,最后删除了数组 arr 中的最后一个元素,即元素 4。
4. 遍历 Array
let arr = [1, 2, 3]
for item in arr {
print(item)
}
以上代码中,我们使用 for-in 循环遍历数组 arr,并打印出数组中的每个元素。
三、高级操作
1. 更改 Array 中的元素
var arr = [1, 2, 3]
arr[0] = 4 // [4, 2, 3]
arr[1...2] = [5, 6] // [4, 5, 6]
arr.swapAt(0, 1) // [5, 4, 6]
以上代码中,我们分别使用下标、切片以及 swapAt()
方法进行了数组的元素值修改。
2. Array 的过滤与排序
let arr = [3, 4, 1, 2, 5]
let filteredArr = arr.filter { $0 > 2 } // [3, 4, 5]
let sortedArr = arr.sorted() // [1, 2, 3, 4, 5]
以上代码中,我们使用 filter()
方法筛选出大于 2 的元素并返回一个新的数组,使用 sorted()
方法对数组进行排序。
3. Array 的 reduce() 方法
let arr = [1, 2, 3]
let sum = arr.reduce(0) { $0 + $1 } // 6
以上代码中,我们使用 reduce()
方法将数组元素累加起来并返回计算结果,等价于 0 + 1 + 2 + 3
。
4. 使用 map() 和 flatMap() 方法
let arr = [1, 2, 3]
let newArr = arr.map { $0 * 2 } // [2, 4, 6]
let flatArr = [[1, 2], [3, 4]].flatMap { $0 } // [1, 2, 3, 4]
以上代码中,我们使用 map()
方法对数组中的每个元素乘以 2 并返回新的数组,使用 flatMap()
方法将一个嵌套的数组变为一个平铺的数组。