我有两个像下面这样的数组。我需要将每个数据合并两个数组,然后追加到一个数组。示例是:
var d1 = ["1", "2", "3", "4", "5"]
var d2 = ["A", "B", "C", "D", "E"]
var d3 = [String]()
//O/P needed : ["1-A","2-B","3-C","4-D","5-E"]
任何帮助都会很棒。 谢谢
答案 0 :(得分:2)
在pos_hint
和zip(_:_:)
上使用 map(_:)
和 d1
的组合,
d2
如果let d3 = zip(d1, d2).map({ $0.0 + "-" + $0.1})
print(d3) //["1-A", "2-B", "3-C", "4-D", "5-E"]
中的任何一个有多余的元素,则在执行arrays
操作时这些多余的元素将被忽略。
答案 1 :(得分:1)
var d1 = ["1", "2", "3", "4", "5"]
var d2 = ["A", "B", "C", "D", "E"]
var d3 = [String]()
//O/P needed : ["1-A","2-B","3-C","4-D","5-E"]
// works for diff length of d2
func mergArray(firstArray: [String], secondArray: [String]) -> [String] {
for (index,val) in d1.enumerated() {
guard index < d2.count else {
d3.append(val)
return d3
}
d3.append(val + "-" + d2[index])
}
return d3
}
print(mergArray(firstArray: d1, secondArray: d2))
答案 2 :(得分:0)
像-
for i in 0..< d1.count {
d3.append(d1[i] + "-" + d2[i])
}
print(d3)
您将获得想要的结果。