将嵌套数组转换为平面哈希

时间:2014-04-06 20:58:54

标签: ruby

我有这个:

[["hello", 1], ["world", 1]] 

我想要这个:

{ "hello" => 1, "world" => 1 }

我编写了一些可行的东西,但感觉很愚蠢。这是:

hash = {}
array.each do |element|
  hash[element[0]] = element[1]
end 
hash

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

是..使用Hash[ [ [key, value], ... ] ] → new_hash

执行以下操作
Hash[[["hello", 1], ["world", 1]]] # =>  => {"hello"=>1, "world"=>1} 

如果您使用的是Ruby2.1,请使用Array#to_h

[["hello", 1], ["world", 1]].to_h