我有一个Rails嵌套哈希如下:
class = [{"tutor" => {"id" => "Me"}}, {"tutor" => {}}]
我想提取id列表,但嵌套的hash可以是nil:
tutor_ids = class.map {|c| c['tutor']['id'].to_i }
如果嵌套哈希是nil,我会收到错误。
我该怎么做?
答案 0 :(得分:2)
首先,我认为你可能正在考虑像这样的一系列哈希(假设多次使用相同的密钥:
klass = [{"tutor" => {"id" => "Me"}},{"tutor" => {}}]
然后您可以将导师ID映射到:
tutor_ids = klass.map {|k| k['tutor'] && k['tutor']['id'] }.compact
会导致
=> ["Me"]
Compact将丢弃之后遇到的所有nil值。
答案 1 :(得分:0)
id = class['tutor'] ? class['tutor']['id'] : nil