将多个数组合并到一个哈希数组中

Fah*_*hmi -1 ruby arrays hash ruby-on-rails

我有一个像这样的哈希值

name = ['Jhon Doe', 'Jane Doe' , 'David']
role = ['Admin', 'Accountant', 'Sales']
Run Code Online (Sandbox Code Playgroud)

我想让它看起来像这样

data = [
      {name => 'Jhon Doe', role => 'Admin'},
      {name => 'Jane Doe', role => 'Accountan'},
      {name => 'David', role => 'Sales'}
]
Run Code Online (Sandbox Code Playgroud)

可以做这样的事情吗?

Jör*_*tag 6

这是一个相当简单的解决方案:

name.zip(role).map {|name, role| { name:, role: }}
#=> [
#     { name: 'Jhon Doe', role: 'Admin' },
#     { name: 'Jane Doe', role: 'Accountant' },
#     { name: 'David',    role: 'Sales' }
#   ]
Run Code Online (Sandbox Code Playgroud)