当前位置:  开发笔记 > 后端 > 正文

检查哈希是否包含另一个哈希

如何解决《检查哈希是否包含另一个哈希》经验,为你挑选了1个好方法。

鉴于我有一个哈希数组abc和一个哈希ghi:

abc = [{
  'a' => '1',
  'b' => '2',
  'c' => '3',
  'd' => '4'
}]
ghi = {
  'a' => '1',
  'b' => '2'
}

选择散列的最干净,最有效的方法是什么?abc包含所有键值对ghi

我能够做到这一点:

abc.map {|n| n.slice(*ghi.keys) == ghi }.all?

虽然它看起来不是很干净.



1> sawa..:

在Ruby 2.3中.

abc.select{|h| h >= ghi}

注意:在OP提到Ruby版本之前已经回答了这个问题.

Ruby的早期版本:

abc.select{|h| h.merge(ghi) == h}


我只想说你错了h和ghi :)但是我要告诉我,我很欣赏你的Ruby答案有多酷,真的 - 简短,准确和高效(即使我不确定,但你最有可能的).
推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有