var firstArray = ["1.","2.","3.","4."]
var secondArray = ["a","b","c"]
func combineTheArrays(array1: [Any], array2: [Any]) -> [Any] {
var finalArray = [Any]()
let maxIndex = array1.count >= array2.count ? array1.count : array2.count;
for i in 0...maxIndex{
if (array1.count > i){
finalArray.append(array1[i])
}
if (array2.count > i){
finalArray.append(array2[i])
}
} }
combineTheArrays(array1: firstArray, array2: secondArray)
print(finalArray)
我想拿两个不同/相似类型的数组,并让它通过函数工作并组合成一个单一的数组。这个功能的理想结果是打印:使用未解析标识符'finalArray'?
finalArray = ["1.", "a", "2.", "b", "3.", "c", "4."]
finalArray是函数中的局部变量。还应该有一个“缺少函数返回”错误... –
(与您的具体问题无关,但请参阅https://stackoverflow.com/questions/34951824/how-can-i-interleave-two-arrays for ) –
只需使用'zip'和'flatmap'就可以简化这段代码:'zip(array1,array2).flatMap {[$ 0,$ 1]}' – Alexander