将每个元素组合两个数组并追加到一个数组

时间:2019-09-03 05:33:01

标签: ios arrays swift iphone xcode

我有两个像下面这样的数组。我需要将每个数据合并两个数组,然后追加到一个数组。示例是:

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"]

任何帮助都会很棒。 谢谢

3 个答案:

答案 0 :(得分:2)

pos_hintzip(_:_:)上使用 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)

您将获得想要的结果。

相关问题