我有一个数组和一个包含第一个数组特定元素索引的数组。如何最好地从第一个数组获取这些元素?
我现在正在尝试:
result = []
indexes.each { |current| result << my_array[current] }
但应该有更好的方法..
indexes.map { |i| my_array[i] }
甚至更好的解决方法是使用Array#values_at
。my_array.values_at(*indexes)
在这里,星号符号将数组提取为参数,传递给方法。
values_at
是最快的。根据基准测试结果,它比map
和push
快约 2 倍,尽管它不太“人性化”。 - Alexander Gorg