使用to_h方法将Array转换为Ruby中的Hash

时间:2016-02-18 06:11:49

标签: arrays ruby hash

我有一个数组。尽管我可以在不创建哈希的情况下检索其索引,但我想使用数组内容来创建一个哈希,其索引是值。

array = ["Alice", "Bob", "Cliff"]

我希望我的哈希看起来像:

{ "Alice"=>0, "Bob"=>1, "Cliff"=>2 }

我很感激帮助。

2 个答案:

答案 0 :(得分:3)

array.each_with_index.to_h
# => {"Alice"=>0, "Bob"=>1, "Cliff"=>2}

答案 1 :(得分:0)

使用索引解决方案映射:

Hash[ arr.map.with_index { |num, idx| [num, idx] } ]

或zip解决方案:

Hash[arr.zip(0..arr.size)]