我想创建一个查找表来查找数组中对象的索引:

创建一个数组["a", "b", "c"] 并为每个对象的索引生成一个查找哈希表{"a"=>0, "b"=>1, "c"=>2}

我能想到的最简单的方法是:

i = 0 
lookup = array.each_with_object({}) do |value,hash| 
  hash[value] = i 
  i += 1 
end 

和:

i = -1 
lookup = Hash[array.map {|x| [x, i+=1]}] 

我觉得这样做有更优雅的解决方案,欢迎任何想法!

请您参考如下方法:

这个怎么样:

Hash[array.zip 0..array.length] 


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!