【问题标题】:Check if keys in a hashmap are all in an array检查哈希图中的键是否都在数组中
【发布时间】:2015-05-19 15:23:38
【问题描述】:

假设我有数组a = ["a","b"] 还有哈希图{"hello" => "world", "a" => "d"}

这将返回 false,因为 "hello" 不在数组 'a' 中。

哈希图:{"a" => "hello", "a" => "world"} 很好。

有没有办法在不手动完成所有工作的情况下做到这一点? eg: 查找 hashmap 键是否是数组的子集?

【问题讨论】:

  • 您应该将对象{"hello" => "world", "a" => "d"} 称为“哈希”(即Hash 的实例)。 “hashmap”(又名“hash table”)指的是数据结构。
  • {"a" => "hello", "a" => "world"} 不是“好”,因为哈希不能有重复的键。 :-) 你也可以写hash.values_at(*a).size == hash.size,但是)hash.keys-a).empty? 更清楚。

标签: ruby hashmap


【解决方案1】:

这将起作用:

(hash.keys - a).empty?
# if returns true means all keys present in array.
# if returns false means all keys are not present in array.

【讨论】:

    【解决方案2】:

    试试这样的:

    keys = hashmap.keys
    (keys - a).empty?
    

    结果 'keys - a' 是否为空 - 表示所有键都在数组中

    【讨论】:

      【解决方案3】:

      你在找这个吗

      a = ["a","b"]
      b = {"hello" => "world", "a" => "d"}
      
      (a-b.keys).empty?
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-28
        • 1970-01-01
        • 2021-10-20
        • 2017-04-13
        • 1970-01-01
        • 2012-04-05
        • 2011-05-19
        • 1970-01-01
        相关资源
        最近更新 更多