Swift-数组“运算”汇总

2字数 209阅读 262

两个数组“相加”——合并数组

var intItems1 = [1, 2, 3, 4]
var intItems2 = [1, 2, 3, 4]
var intsItemsAll = intItems1 + intItems2
intsItemsAll // [1, 2, 3, 4, 1, 2, 3, 4]

通过运算符+,将两个数组合并到新数组。

追加元素

var intItems1 = [1, 2, 3, 4]
var intItems2 = [1, 2, 3, 4]
intItems1 += intItems2
intItems1

通过运算符+=,将右边数组追加到左边数组末尾中。容易出错的地方是,追加操作必须是两个数组,不能添加单个元素:

var intItems1 = [1, 2, 3, 4]
intItems1 += 2 // 错误
intItems1 += [2] // 正确

数组元素计算

var intItems1 = [1, 2, 3, 4]
intItems1[2] -= 1
intItems1 // [1, 2, 2, 4]
intItems1[3] /= 2
intItems1 // [1, 2, 2, 2]

之所以可以对元素进行数学运算,是因为数组成员类型为Int;如果是String,则为对应字符串操作:

var strItems = [
    "Good",
    "Bad"
]
strItems[1] += " is not Bad"
strItems //["Good", "Bad is not Bad"]

数组相等

试着推断下面的代码是否会打印"is equal":

var intItems1 = [1, 2, 3, 4]

var intItems2 = [1, 3, 2, 4]

if intItems1 == intItems2 {
    print("is equal")
}

两个数组中的元素是相同的,按理说是相同的,但等号比较会同时考虑元素顺序,顺序不同的数组被认为是不同的

推荐阅读更多精彩内容