我有一組 K:V 對,如下所示:
list = [
{"Mary"=>"Die Hard"},
{"Paul"=>"The Grinch"},
{"John"=>"Halloween"},
]
但現在我想充實并更改串列,添加更多特定鍵以使其更易于搜索。
這是可能的,甚至是可行的方法嗎?
new_list = [
{ name: "Mary", film: "Die Hard"},
{ name: "Paul", film: "The Grinch"},
{ name: "John", film: "Halloween"},
]
uj5u.com熱心網友回復:
我可能會:
- 用于
map迭代其中的元素list并同時構建一個新陣列 - 由于每個元素都是一個包含一個專案的哈希,因此將其分解為鍵和值
- 以正確的格式構建新的哈希
new_list = list.map do |hash|
# e.g. key = "Mary", value = "Die Hard"
key, value = hash.first
{name: key, film: value}
end
這假定串列中的每個散列只有一個專案(如您在問題中的示例中所示) - 您可能希望在其他地方驗證這一點,因為此解決方案將忽略散列中第一個之后的任何其他專案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/418362.html
標籤:
上一篇:如何實作dsl模塊?
