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