0

我有一个 Rails 嵌套哈希,如下所示:

class = [{"tutor" => {"id" => "Me"}}, {"tutor" => {}}]

我想提取 id 列表,但嵌套哈希可以为零:

tutor_ids = class.map {|c| c['tutor']['id'].to_i }

如果嵌套散列为零,我会得到错误。

我该怎么做?

4

2 回答 2

2

首先,我认为您可能正在考虑这样的哈希数组(假设多次使用相同的键:

klass = [{"tutor" => {"id" => "Me"}},{"tutor" => {}}]

然后您可以将导师 ID 映射为:

tutor_ids = klass.map {|k| k['tutor'] && k['tutor']['id'] }.compact

这将导致

=> ["Me"]

Compact 将丢弃之后遇到的所有 nil 值。

于 2013-05-24T06:19:33.630 回答
0
id = class['tutor'] ? class['tutor']['id'] : nil
于 2013-05-24T06:05:30.167 回答