我希望使用枚举方法在Swift中基本匹配两个不同的数组。如果我有:
let array1 = ["a", "b", "c", "d"]
let array2 = ["1", "2", "3", "4"]
我需要返回一个新的数组:
newArray = ["1. a1", "2. b2", "3. c3", "4. d4"]
如何制作这样的数组?
答案 0 :(得分:7)
您可以使用zip
方法:
let res = zip(array1, array2).map {"\($1). \($0)\($1)"}
请注意,此方法在开头和结尾处重复array2
中的项目。如果开头的数字应该是索引,请改为使用此表达式:
let res = zip(array1, array2).enumerated().map {"\($0+1). \($1.0)\($1.1)"}
答案 1 :(得分:0)
这解决了你的问题
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])")
}
答案 2 :(得分:0)
我设法在朋友的帮助下解决了这个问题:
var newArray: [String] = []
for (index, array1) in array1.enumerated() {
newArray.append("\(index + 1). \(array1)(\(array2[index]))")
}
return newArray
谢谢!