arrays - 将数组数组转换为 Ruby 中的哈希数组

标签 arrays ruby hashtable

我正在尝试将二维数组转换为哈希数组。 这是我的数组:

[[8765, 105191, 2.0, 1582.1], [4321, 62870, 2.0, 603.24], [1234, 62870, 2.0, 500.24]]

我正在尝试将其转换为哈希值数组。像这样:

[{"sales_user_id"=>"8765", "user_id"=>"105191", "month"=>"2", "sum"=>"1582.1"},
{"sales_user_id"=>"4321", "user_id"=>"62870", "month"=>"2", "sum"=>"603.24"},
{"sales_user_id"=>"1234", "user_id"=>"62870", "month"=>"2", "sum"=>"500.24"}]

我正在分解每个数组并为数组中的值分配一个键。我对 ruby 还是有点陌生​​,我不确定从哪里开始。

最佳答案

这对于 Enumerable#zip 来说非常简单:

values = [ [ 8765, 105191, 2.0, 1582.1 ],
           [ 4321,  62870, 2.0, 603.24 ],
           [ 1234,  62870, 2.0, 500.24 ] ]
keys = %w[sales_user_id user_id month sum]

p values.map {|arr| keys.zip(arr).to_h }
# => [ { "sales_user_id" => 8765, "user_id" => 105191, "month" => 2.0, "sum" =>  1582.1 },
#      { "sales_user_id" => 4321, "user_id" =>  62870, "month" => 2.0, "sum" =>  603.24 },
#      { "sales_user_id" => 1234, "user_id" =>  62870, "month" => 2.0, "sum" =>  500.24 } ]

关于arrays - 将数组数组转换为 Ruby 中的哈希数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35471494/

相关文章:

ruby - 如何在 ruby​​(任何 gem?)上使用 skype

ruby - ruby 的字符串方法.include 可以吗?与 bang 运算符一起使用?

powershell - 在powershell中的有序字典中查找键的索引

c - 制作空白输出文件的程序,C

arrays - 更新存储数组中对象的属性 - React Native

json - 如何转义json字符串中的单引号? JSON::ParserError Ruby

ruby - 如何在 Ruby 中为嵌套哈希使用动态变量名?

java - "main"Hashtable排序和反转中的java.lang.OutOfMemoryError

c++ - 如何在我的构造函数中初始化树节点内的数组?

javascript - 如何重命名和删除数组中的多个键?