2017-08-11 59 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

相关问题