2010-02-10 28 views
5

All,Lấy giá trị chính băm cụ thể từ một mảng băm

tôi đã tự hỏi nếu có ai biết một guốc hơn:

array_of_hashes.map { |hash_from_array| hash_from_array[:key] } 

để lấy một mảng các giá trị với một phím cụ thể từ một mảng băm chứa khóa đó.

+2

có vẻ ổn với tôi, mặc dù việc đặt tên biến hash_from_array là một chút quá mức cần thiết. "h" có lẽ sẽ làm điều đó. – klochner

+0

heh, đã được thực sự để cải thiện khả năng đọc của ví dụ. :) –

+1

một giải pháp rất trực tiếp - Tôi thích nó –

Trả lời

1

Từ quan điểm mã Ruby, map khá thanh lịch và dễ hiểu.

Từ quan điểm thuật toán (để giải quyết thẻ khoa học máy tính), có vẻ như một giải pháp cho vấn đề này không thể tốt hơn là đi qua toàn bộ mảng một lần (tức là map tại đây). thời gian để xử lý từng băm trong mảng.

@Vlad: Nén mảng được trả lại tùy thuộc vào việc sẽ được thực hiện với mảng, phải không? :-)

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