当前位置:  开发笔记 > 编程语言 > 正文

如何从值数组中搜索Ruby哈希,然后根据结果返回哈希值?

如何解决《如何从值数组中搜索Ruby哈希,然后根据结果返回哈希值?》经验,为你挑选了1个好方法。

这是一个示例哈希和一个在哈希中搜索的示例数组:

nicknames = { "Black Mamba" => "Kobe Bryant",
              "Half Man Half Amazing" => "Vince Carter",
              "The Big Fundamental" => "Tim Duncan",
              "Big Ticket" => "Kevin Garnett",
              "Obi-Wan Ginobili" => "Manu Ginobili",
              "The Answer" => "Allen Iverson" }

names = [ "Vince Carter", "Manu Ginobili", "Allen Iverson" ]

我想回来:

selected = { "Half Man Half Amazing" => "Vince Carter", "Obi-Wan Ginobili" => "Manu Ginobili", "The Answer" = "Allen Iverson" }

这样做的好方法是什么?谢谢!



1> MrYoshiji..:

您可以简单地执行以下操作:

nicknames.select { |key, value| names.include?(value) }

(将您提供的代码复制粘贴到我的IRB控制台中,您将看到它正常工作).


如果所有NBA球员都被列入"昵称",或许:"要求'设置'; snames = names.to_set; nicknames.select {| key,value | snames.include?(value)}`.
推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有