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)
私は異なる/類似の型の2つの配列を取って、関数を処理して1つの配列に結合しようとしています。この機能の理想的な結果は、次のとおりです。未解決の識別子 '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