在 Swift 中迭代多个数组

Iterating over multiple arrays in Swift

我希望使用枚举方法基本上匹配 Swift 中的两个不同数组。所以如果我有:

let array1 = ["a", "b", "c", "d"]
let array2 = ["1", "2", "3", "4"]

我需要 return 一个新数组,内容为:

newArray = ["1. a1", "2. b2", "3. c3", "4. d4"]

如何制作这样的数组?

您可以使用 zip 方法:

let res = zip(array1, array2).map {"\(). \([=10=])\()"}

请注意,此方法在开头和结尾重复了 array2 中的项目。如果开头的数字应该是索引,请改用此表达式:

let res = zip(array1, array2).enumerated().map {"\([=11=]+1). \(.0)\(.1)"}

这解决了你的问题

let array1 = ["a", "b", "c", "d"]
let array2 = ["1", "2", "3", "4"]
var newArray: [String] = []

for (index, element) in array1.enumerated() {
    newArray.append("\(array1[index]). \(array2[index])\(array1[index])")
}

我在朋友的帮助下设法弄明白了:

var newArray: [String] = []
    for (index, array1) in array1.enumerated() {
        newArray.append("\(index + 1). \(array1)(\(array2[index]))")
    }
    return newArray

谢谢!