2. 数组的基本用法
数组名.count: 数组元素个数
数组名.isEmpty: 判断数组是否为空,返回是布尔类型
通过索引值(数组下标)获取元素(数组从0开始索引,索引值为0的是第一个数组元素):
数组名[索引值]
注意:用数字索引会发生索引越界问题,需要开发者控制。
数组名.first / .last: 取数组的第一个 / 最后一个元素, 返回的是可选型(有的数组不一定存在第一个或者最后一个元素)
可选类型应用:空数组名.first 返回的是 nil
在实际使用.first的时候可以解包使用如:if let 变量名 = 数组名.first{ 使用到该数组第一个元素的语句 }(这样使用可在遇到空数组或者没有第一个元素的时候不会崩溃)
let定义为常量时,数组不会变化(用户修改不了),可确定数组是否为空来确定是否可以强制解包,这里安全性是由开发人员来保障。
逻辑判断最后一个元素:数组名[数组名.count - 1]
数组名.minElement() / .maxElement(): 返回可选型
获取一定范围的子数组:
数组名[范围(eg:1..<4)]
数组名.contains():验证返回这个数组是否存在某个元素,返回布尔类型
数组名.indexOf():验证这个数组是否存在某个元素,但返回的是索引值
for循环遍历数组获取数组元素、数组元素索引值(.enumerate())
for 变量名 in 数组名 {对获取的数组元素进行操作}
for (索引变量名, 元素变量名) in 数组名.enumerate() {使用到索引值和元素的语句}
数组名1 == 数组名2 :其他语言比较的是引用(也是地址吧),此语句不成立,swift比较的是值,故此语句成立。
强调:数组是一个有序的数据集合(在比较的时候要特别注意)
//隐式可选型 可为nil,可有值
var numbers: [Int] = [1,2,3,4,5]
var oneToFive = [1,3,4,2,5]
var vowels : [String] = ["A","E","I","O","U"]
vowels.count
vowels.isEmpty
vowels[1]
vowels.first
vowels.last
vowels.min()
vowels.max()
vowels.index(of: "E")
numbers.index(of: 3)
numbers[2..<4]
for (index,value) in vowels.enumerated(){
print(value)
print(index)
}
//swift数组是否相等 是判断值是否相等,有序的数据集合
oneToFive == numbers