【问题标题】:Ruby access multiple array elemenets by indexes (sub array)Ruby 通过索引访问多个数组元素(子数组)
【发布时间】:2013-02-02 21:00:20
【问题描述】:

我有一个数组,我有一个数组,其中包含第一个数组中某些元素的索引。从第一个数组中获取元素的最佳方法是什么?

我在做:

result = []
indexes.each { |current| result << my_array[current] }

但应该有更好的方法..

【问题讨论】:

    标签: ruby arrays


    【解决方案1】:

    你可以使用Array#map:

    indexes.map { |i| my_array[i] }
    

    或者更好,Array#values_at

    my_array.values_at(*indexes)
    

    * 符号将数组提取为传递给方法的参数。

    【讨论】:

    • 我知道我错过了 10 倍的东西 :)
    • values_at 是最快的,顺便说一句。根据基准测试结果,它比 mappush 快了约 2 倍,但是,它不那么“人性化”。
    猜你喜欢
    • 1970-01-01
    • 2020-01-15
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多