我目前正在使用类似于以下内容的ruby哈希:
{"employee"=>[{"name"=>"john", "level"=>"1", "position"=>"S1"},
{"name"=>"bill", "level"=>"2", "position"=>"S2"}]}
这是员工的两个例子,我需要能够通过价值观来拉动员工。例如,我想让所有级别== 2的员工,或者所有员工的职位== S1。
我如何在Ruby中执行此操作?
答案 0 :(得分:25)
level_2_employees = infoHash["employee"].select {|k| k["level"] == "2"}
这将根据您的条件返回一系列员工信息哈希值。请务必在级别
的值附近加上引号答案 1 :(得分:5)
ehash = {"employee"=>[{"name"=>"john", "level"=>"1", "position"=>"S1"},
{"name"=>"bill", "level"=>"2", "position"=>"S2"}]}
ehash['employee'].find_all { |e| e['level'] == 2}
ehash['employee'].find_all { |e| e['position'] == 'S2'}