2013-02-02 58 views
13

我有一个数组,并且我有一个数组,其中包含第一个数组中的某些元素的索引。从第一个数组中获取元素的最佳方式是什么?Ruby通过索引访问多个数组elemenets(子数组)

我做:

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

但应该有一个更好的办法..

回答

31

您可以使用Array#map

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

甚至更​​好,Array#values_at

my_array.values_at(*indexes) 

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

+1

我知道我错过了10倍的东西:) – bliof