我有一个哈希类别如下:
categories = {"horeca" => ["bar", "waiter", "kitchen"],
"retail" => ["eerste", "tweede"]}
Run Code Online (Sandbox Code Playgroud)
如果值包含在值数组中,我想找到它们的键.
跟随之类的事情
categories.key("bar")
Run Code Online (Sandbox Code Playgroud)
这将返回"horeca"
截至目前,如果我这样做,我只能得到"horeca"
categories.key(["bar", "waiter", "kitchen"])
Run Code Online (Sandbox Code Playgroud)
categories.find { |key, values|
values.include?("bar")
}.first
Run Code Online (Sandbox Code Playgroud)
正如Máté所提到的,find如果你想找到第一个匹配的元素,你可以使用它.select如果您想要所有匹配元素,请使用.要获得你要做的钥匙:
categories.select { |key, values| values.include?("bar") }.map(&:first)
Run Code Online (Sandbox Code Playgroud)
请参阅https://ruby-doc.org/core-2.2.3/Enumerable.html#method-i-select
| 归档时间: |
|
| 查看次数: |
3234 次 |
| 最近记录: |