检查嵌入式数组中嵌入式哈希中是否存在密钥的最简洁方法

时间:2017-06-14 00:07:22

标签: ruby-on-rails ruby

我试图找出一种好方法来查找此哈希值error_body中是否存在resq

hash_v = {"brand"=>[{ "model_id"=>["1"], "resq"=>[{"error_body"=>[{"message"=>["Error"]}]}]}]}

这是我迄今为止看到的最干净的方式,但我想知道是否有更好的方法,也许是通过使用dig来使这一点更清洁。

hash_v['brand'].map { |m| m['resq'].first['error_body'] }

有什么建议吗?

1 个答案:

答案 0 :(得分:-1)

我不确定使用dig是否是检查嵌入式哈希数组中是否存在密钥的最简洁方法,但此解决方案可能有效:

 hash_v.dig("brand", 0, "resq", 0, "error_body")