您的位置:

Swift数组详解

一、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 {
        // 字符串
    }
}