如何枚举swift 4中的zip数组以获取每个对象的索引

问题描述 投票:3回答:2

我需要枚举一个压缩数组来检查数组中每个对象的索引。以下是我的代码请帮帮我。

for((index1, index2),(value1, value2)) in zip(array1, array2).enumerated() {
        // INDEX OF OBJECT
}
arrays zip swift4
2个回答
2
投票

您可以利用enumerated以这种方式了解有价值的index

func zipArray() {
    let words = ["one", "two", "three", "four"]
    let numbers = 1...4

    let zipArray = Array(zip(words, numbers))
    print(zipArray)

    for (index, tuple) in zipArray.enumerated() {
        print("Index : \(index): Word :\(tuple.0) Number : \(tuple.1)")
    }
}

一旦zip在两个数组上执行,它就会返回另一个带有一对输入的数组。

所以你可以使用上面的代码对zipped数组执行enumerated操作,并将indexvalue作为元组。然后对于元组索引的单个元素将是相同的。

可能有更好的方法。但这将满足您的索引目的。


1
投票

拉链数组后,它只有一个索引。只需将其用作普通枚举即可。

let arr1 = ["1","2","3"]
let arr2 = ["A","B"]
let arr3 = zip(arr1, arr2)
print(arr3)

for (index, (x,y)) in arr3.enumerated() {

    print(index, y)

}

请享用!

© www.soinside.com 2019 - 2024. All rights reserved.