[英]How do I get all the values from a hash that are in an array?
我有以下哈希wbs_items
:
wbs_items = {"Architecture"=>"architecture", "Auditing"=>"auditing", "Consulting"=>"consulting", "Delivery"=>"delivery", "Development"=>"development", "Engineering"=>"engineering", "Environment / IT"=>"environment", "Graphic Design"=>"graphic_design", "Management"=>"management", "Requirements"=>"requirements", "Research"=>"research", "Support"=>"support", "System Design"=>"system_design", "Test & Eval"=>"test_and_evaluation", "Writing"=>"writing"}
以及以下数组disciplines
:
disciplines = ["architecture", "auditing", "consulting", "development", "engineering", "environment", "graphic_design", "management", "system_design", "test_and_evaluation", "writing"]
我只想从哈希中获取具有数组值的键和值。 我该怎么做?
尝试这个:
wbs_items.values & disciplines
关于什么 :
wbs_items.select { |k,v| disciplines.include?(v) }
inverted = wbs_items.invert
disciplines.to_enum.with_object({}){|k, h| h[inverted[k]] = k}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.