完整定义 Array<element> 简写[element]
1. Creating and Initializing
1.1 创建一个空数组
var someString = Array<String>()
var someDoubl: [Double] = []
var someInt = [Int]()
var someArray = [] //在swift能推测数据类型的条件下甚至可以简写为
1.2 使用默认值初始化
var threeDoubles = Array(repeating: 0.0, count: 3)
1.3 使用其他array初始化
var sixDoubles = threeDoubles + anotherThreeDoubles
1.4 literal
var shoppingList: [String] = ["Eggs", "Milk"]
1.2 Properties and Methods
swift 中的array非常强大,它不仅是包含了数据的存储,还有很多数组的基本操作。
两个最常用的properties,.count和.isEmpty
-
randomElement
func randomElement() -> Self.Element? // 返回数组中的一个随机元素,当数组为空时返回nil
-
append
append可以追加一个元素用append(),也可以追加多个元素,用append(contentsOf:)
-
remove
remove(at: ) //指定移除的位置
removeFirst() //移除最前面的一个元素,返回值为移除的元素
removeFirst(_:) //移除最前面的几个元素,没有返回值
removeLast() //移除最后面的一个元素,放回值为移除的元素
removeLast(_:) //移除最后面几个元素,没有返回值
removeAll() //全删了
removeAll(where: ) // 删除所有满足特殊条件的元素
var arrayName = ["red","yellow","green","blue","gray","orange","purple"]
arrayName.removeAll(where: {$0 > "color"})
print(arrayName) //运行结果是 ["blue"]
-
Finding
contains() //判断数组是否含有特定元素,返回值Bool
contains(where: ) //判断数组是否含有满足特定条件的元素,返回值Bool
allSatisfy() //判断数组是否所有元素都满足特定条件,返回值Bool
first(where: ) //查找满足条件的第一个元素
firstIndex(where: ) //查找满足条件的第一个元素的位置
index(of: ) //查找第一个指定元素出现的位置
last(where: ) //查找满足条件的所有元素中的最后一个
lastIndex(where: ) // 查找满足条件的最后一个元素的位置
-
selecting
用prefix和suffix来获取特定的子序列
-
map
map()
let cast = ["Vivien", "Marlon", "Kim", "Karl"]
let lowercaseNames = cast.map { $0.lowercased() }
// 'lowercaseNames' == ["vivien", "marlon", "kim", "karl"]
let letterCounts = cast.map { $0.count }
// 'letterCounts' == [6, 6, 3, 4]
-
iterating
arrayName.forEach{ item in print(item) }
for item in arrayName { print(item) }
for index in arrayName.indices { print(arrayName[index] }
for (index, item) in arrayName.enumerated() { print("the \(index+1) number is \(item)")}
-
reordering
sort : 按特定规则排序自身
sorted:把按规则排序的结果返回,自身没变
reverse:自身逆序
reversed: 返回逆序结果
shuffle:自身洗牌,乱序
shuffed:返回乱序的结果
partition:分隔,把满足条件的放在前面,不满足条件的放在后面
swapAt:交换两个index指定的元素