比较 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