仅使用索引检索多个数组的值

Posted

技术标签:

【中文标题】仅使用索引检索多个数组的值【英文标题】:Retrieve Values of Multiple Arrays with just an index 【发布时间】:2017-08-11 21:01:31 【问题描述】:

所以我试图检索给定索引的多个数组的值。例如,如果我有三个数组“一”、“二”和“三”,它们有 12 个值。我的函数 getEvents(monthIndex: 0) 将返回:一个 [0]、两个 [0] 和三个 [0] 在一个名为“day1”的数组中。现在我尝试了它,但是由于每个数组中已经有 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])
    

希望对你有帮助

【讨论】:

大声笑。男人。这就是我知道我被烧毁的方式!甚至没有抓住那个。接得好。解决了我的问题。谢谢! 我假设您这样做是为了澄清,但不需要返回“var days”,而只需返回 arrays.map($0[monthIndex])。 @insolence 你是对的,这是一个错字,我会更新大声笑,谢谢! 没问题!谢谢!

以上是关于仅使用索引检索多个数组的值的主要内容,如果未能解决你的问题,请参考以下文章

Elasticseach-强制字段仅索引,避免存储

使用Numpy以矢量化方式检索多个值的索引

无法在 for 循环中检索数组值

filter方法

区域和检索 - 数组可修改

lucene中分词和索引的区别