我目前正在处理类似于以下内容的ruby哈希:
{"employee"=>[{"name"=>"john", "level"=>"1", "position"=>"S1"},
{"name"=>"bill", "level"=>"2", "position"=>"S2"}]}
Run Code Online (Sandbox Code Playgroud)
这是员工的两个例子,我需要能够通过价值观将员工拉出来.例如,我想让所有级别== 2的员工,或者所有员工的职位== S1.
我将如何在Ruby中执行此操作?
Pla*_*ure 26
level_2_employees = infoHash["employee"].select {|k| k["level"] == "2"}
Run Code Online (Sandbox Code Playgroud)
这将根据您的条件返回一系列员工信息哈希值.请务必在关键值附近加上引号
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'}
Run Code Online (Sandbox Code Playgroud)