比较 2 个带拉链的阵列

zip 函数接受 SequenceType 类型的 2 个参数并返回 Zip2Sequence,其中每个元素包含来自第一个序列的值和来自第二个序列的值。

let nums = [1, 2, 3]
let animals = ["Dog", "Cat", "Tiger"]
let numsAndAnimals = zip(nums, animals)

nomsAndAnimals 现在包含以下值

序列 1 序列 1
1 Dog
2 Cat
3 Tiger

当你想要在每个数组的第 n 个元素之间进行某种比较时,这非常有用。

给出 2 个 Int(s) 阵列

let list0 = [0, 2, 4]
let list1 = [0, 4, 8]

你想检查 list1 中的每个值是否是 list0 中相关值的两倍。

let list1HasDoubleOfList0 = !zip(list0, list1).filter { $0 != (2 * $1)}.isEmpty