[英]Ruby: Most idiomatic way to modify an array of hashes?
我正在使用未排序的哈希數組,其中數組中哈希的順序並不重要。 每個哈希都有一個:id
主鍵,用於在數組中查找它。 該系統的設計超出了我的控制范圍。
我必須為以下項目設計一個讀-修改-寫系統:
在數組中查找哈希(通過:id)。
對散列中的其他鍵執行修改。
將此哈希保存回數組。
現在,做到這一點並使它正常工作並不困難。 但是, Ruby的答案是什么?
謝謝!
a = [{id: 1, x: :y}, {id: 2, x: :z}, ...]
查找ID 2
:
a.find{|h| h[:id] == 2} # => {:id=>2, :x=>:z}
更改ID 2
: :x
屬性的值:
a.find{|h| h[:id] == 2}[:x] = :w
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.