我有以下嵌套哈希。如果listing_id
为variable
,如何快速访问 {"0"=>{"result_api"=>15229, "listing_id"=>4}, "1"=>{"result_api"=>15229, "listing_id"=>2}, "2"=>{"result_api"=>15229, "listing_id"=>1}}
值?
enable_language(ASM_MASM)
答案 0 :(得分:3)
您可以这样做:
h.find{|k, v| v['listing_id'] == @var}[1]["result_api"]
首先获得find
相关结果并获取双元素数组[key, value]
,然后使用[1]
访问这些值,然后访问所需的密钥。
答案 1 :(得分:2)
你可以这样做:
hash = { "0" => { "result_api" => 15229, "listing_id" => 4 },
"1" => { "result_api" => 15229, "listing_id" => 2 },
"2" => { "result_api" => 15229, "listing_id" => 1 } }
hash.values.find{ |h| h['listing_id'] == @var }['result_api']
答案 2 :(得分:2)