假设我有一个散列数组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?

虽然看起来不太干净。

最佳答案

红宝石2.3。

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

注意:这是在op提到ruby版本之前回答的。
以前的Ruby版本:
abc.select{|h| h.merge(ghi) == h}

关于ruby - 检查一个哈希值是否包含另一个哈希值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34224784/

10-13 02:18