在 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
谢谢!
我希望使用枚举方法基本上匹配 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
谢谢!