2013-02-02 30 views
13

Tôi có một mảng và tôi có một mảng với các chỉ mục của các phần tử nhất định từ mảng đầu tiên. Cách tốt nhất để lấy các phần tử từ mảng đầu tiên là gì?Ruby truy cập nhiều mảng elemen bằng chỉ mục (mảng phụ)

tôi đang làm:

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

Nhưng có phải là một cách tốt hơn ..

Trả lời

31

Bạn có thể sử dụng Array#map:

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

Hoặc thậm chí tốt hơn, Array#values_at

my_array.values_at(*indexes) 

Nơi biểu tượng * trích xuất mảng thành các đối số được chuyển tới phương thức.

+1

Tôi biết tôi đã bỏ lỡ điều gì đó 10x :) – bliof

Các vấn đề liên quan