Swift Array 完全指南

一、概述

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

原创文章,作者:QYSVO,如若转载,请注明出处:https://www.506064.com/n/333539.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
QYSVOQYSVO
上一篇 2025-02-01 13:34
下一篇 2025-02-01 13:34

相关推荐

  • JS Proxy(array)用法介绍

    JS Proxy(array)可以说是ES6中非常重要的一个特性,它可以代理一个数组,监听数据变化并进行拦截、处理。在实际开发中,使用Proxy(array)可以方便地实现数据的监…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • 运维Python和GO应用实践指南

    本文将从多个角度详细阐述运维Python和GO的实际应用,包括监控、管理、自动化、部署、持续集成等方面。 一、监控 运维中的监控是保证系统稳定性的重要手段。Python和GO都有强…

    编程 2025-04-29
  • Python应用程序的全面指南

    Python是一种功能强大而简单易学的编程语言,适用于多种应用场景。本篇文章将从多个方面介绍Python如何应用于开发应用程序。 一、Web应用程序 目前,基于Python的Web…

    编程 2025-04-29
  • Python wordcloud入门指南

    如何在Python中使用wordcloud库生成文字云? 一、安装和导入wordcloud库 在使用wordcloud前,需要保证库已经安装并导入: !pip install wo…

    编程 2025-04-29
  • Python小波分解入门指南

    本文将介绍Python小波分解的概念、基本原理和实现方法,帮助初学者掌握相关技能。 一、小波变换概述 小波分解是一种广泛应用于数字信号处理和图像处理的方法,可以将信号分解成多个具有…

    编程 2025-04-29
  • Python字符转列表指南

    Python是一个极为流行的脚本语言,在数据处理、数据分析、人工智能等领域广泛应用。在很多场景下需要将字符串转换为列表,以便于操作和处理,本篇文章将从多个方面对Python字符转列…

    编程 2025-04-29
  • Python初学者指南:第一个Python程序安装步骤

    在本篇指南中,我们将通过以下方式来详细讲解第一个Python程序安装步骤: Python的安装和环境配置 在命令行中编写和运行第一个Python程序 使用IDE编写和运行第一个Py…

    编程 2025-04-29
  • FusionMaps应用指南

    FusionMaps是一款基于JavaScript和Flash的交互式地图可视化工具。它提供了一种简单易用的方式,将复杂的数据可视化为地图。本文将从基础的配置开始讲解,到如何定制和…

    编程 2025-04-29
  • Python起笔落笔全能开发指南

    Python起笔落笔是指在编写Python代码时的编写习惯。一个好的起笔落笔习惯可以提高代码的可读性、可维护性和可扩展性,本文将从多个方面进行详细阐述。 一、变量命名 变量命名是起…

    编程 2025-04-29

发表回复

登录后才能评论