Swift Array 完全指南

发布时间:2023-05-23

一、概述

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() 方法将一个嵌套的数组变为一个平铺的数组。