一、Swift数组排序
通过Swift的sort方法可以对数组进行排序,sort方法需要传入一个闭包,用于指明排序规则。例如,假设我们有一个包含整数的数组numbers,可以按照从小到大的顺序排序:
var numbers = [2, 5, 3, 1, 4]
numbers.sort() // 排序后为[1, 2, 3, 4, 5]
如果想按照从大到小的顺序排序,可以使用sort方法的参数:
numbers.sort(by: { $0 > $1 }) // 排序后为[5, 4, 3, 2, 1]
以上代码中,$0和$1都表示数组中的元素,前者表示当前元素,后者表示下一个元素。
二、Swift数组可以存储重复值
Swift数组可以存储重复值,这与其它编程语言不同。例如,以下代码会创建一个包含3个重复元素的数组:
var numbers = [1, 2, 2, 3, 3, 3]
三、Swift数组方法
Swift数组有许多实用的方法,以下列举几个常用的方法:
1. append方法
用于向数组的末尾添加元素。
var numbers = [1, 2, 3]
numbers.append(4) // 结果为[1, 2, 3, 4]
2. remove方法
用于删除数组中的元素。
var numbers = [1, 2, 3]
numbers.remove(at: 1) // 删除下标为1的元素
3. contains方法
用于判断数组中是否存在某个元素。
var numbers = [1, 2, 3]
numbers.contains(2) // 结果为true
四、Swift数组删除元素
Swift数组可以使用remove方法删除元素,例如:
var numbers = [1, 2, 3]
numbers.remove(at: 1) // 删除下标为1的元素,结果为[1, 3]
除此之外,Swift还提供了可以删除所有相同元素的方法,如下:
var numbers = [1, 2, 2, 3, 3, 3]
numbers.removeAll(where: { $0 == 2 }) // 删除所有值为2的元素,结果为[1, 3, 3, 3]
五、Swift数组能用去运算吗
Swift数组支持使用set算术操作,例如,并集、交集、差集等:
let arr1 = [1, 2, 3, 4]
let arr2 = [3, 4, 5, 6]
let set1 = Set(arr1)
let set2 = Set(arr2)
let union = set1.union(set2) // 并集,结果为[1,2,3,4,5,6]
let intersection = set1.intersection(set2) // 交集,结果为[3,4]
let subtracting = set1.subtracting(set2) // 差集,结果为[1,2]
六、Swift数组倒序输出
Swift数组可以使用reversed方法将数组倒序输出:
var numbers = [1, 2, 3]
for number in numbers.reversed() {
print(number)
}
// 输出为3 2 1
七、Swift数组中2值求和
Swift数组可以使用reduce方法对所有元素进行操作,例如求和:
let numbers = [1, 2, 3]
let sum = numbers.reduce(0, +) // 结果为6
八、Swift数组中如何取出判断
可以使用for-in循环遍历数组,并在循环中使用if语句进行判断:
let numbers = [1, 2, 3]
for number in numbers {
if number == 1 {
print("found 1")
}
}
九、Swift数组中不同对象如何取出判断
如果数组中包含不同类型的元素,可以使用类型转换进行判断:
let objects: [Any] = ["Hello", 1, "World", 2]
for object in objects {
if let number = object as? Int {
// 数字
} else if let string = object as? String {
// 字符串
}
}