我有這樣的哈希
name = ['Jhon Doe', 'Jane Doe' , 'David']
role = ['Admin', 'Accountant', 'Sales']
我想讓它看起來像這樣
data = [
{name => 'Jhon Doe', role => 'Admin'},
{name => 'Jane Doe', role => 'Accountan'},
{name => 'David', role => 'Sales'}
]
可以做這樣的事情嗎?
uj5u.com熱心網友回復:
這是一個相當簡單的解決方案:
name.zip(role).map {|name, role| { name:, role: }}
#=> [
# { name: 'Jhon Doe', role: 'Admin' },
# { name: 'Jane Doe', role: 'Accountant' },
# { name: 'David', role: 'Sales' }
# ]
uj5u.com熱心網友回復:
map您可以使用and獲得所需的結果with_index:
name.map.with_index { |name_i, index| { name: name_i, role: role[index] } }
uj5u.com熱心網友回復:
這里的名稱和角色應該是一個array,而不是hash
name = ['Jhon Doe', 'Jane Doe' , 'David']
role = ['Admin', 'Accountant', 'Sales']
您可以使用以下內容生成輸出哈希
my_hash_array = []
name.size.times{|i| my_hash_array << {name: name[i], role: role[i]} }
我希望這能幫到您。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/510039.html
