2017-08-11 85 views
1

所以我試圖檢索給定索引的多個數組的值。例如,如果我有三個數組「一」,「二」和「三」,它們有12個值。我的函數getEvents(monthIndex:0)將在一個名爲'day1'的數組中返回:一個[0],兩個[0]和三個[0]。現在我嘗試了它,但是因爲每個數組中已經有12個值,所以它會返回36個值而不是3個值。我試圖做一個斷點,但我沒有運氣來了解它出錯的地方。我確定我很近,但我認爲我需要一些提示,所以我在這裏。只用一個索引檢索多個數組的值

這是我到目前爲止有:

func getEvents (monthIndex: Int)-> [String] { 
    var day1: [String] = [] 

    arrays = [one, two, three] 

    for array in arrays { 
     for days in array { 
      day1.append(array[monthIndex]) 
     } 
    } 
    return day1 
} 

回答

1

修復你的代碼會是這樣

func getEvents (monthIndex: Int)-> [String] { 
    var day1: [String] = [] 

    arrays = [one, two, three] 

    for array in arrays { 
     day1.append(array[monthIndex]) 
    } 
    return day1 
} 

不過還好是這樣

在一行

func getEvents (monthIndex: Int)-> [String] { 
     arrays = [one, two, three] 
     return arrays.map({$0[monthIndex]}) 
    } 

希望這會有所幫助

+0

大聲笑。人。這就是我知道我被燒燬的原因!甚至沒有抓住這一點。接得好。解決了我的問題。謝謝! – insolence

+0

@insolence查看我的更新回答 –

+0

更棒!榮譽男人!感謝幫助! – insolence

相關問題