在散列中查找数组中不存在的键

时间:2014-11-13 14:41:03

标签: ruby arrays hash logical-operators

在Ruby中,可以使用以下

找到散列和数组中存在哪些键
(hash.keys & array_of_keys)

我需要使用哪个运算符才能在散列中找到数组中不存在的键?

2 个答案:

答案 0 :(得分:4)

只需hash.keys - array_of_keys

hash = {a: 'a', b: 'b', c: 'c'}
array_of_keys = [:a, :c]

hash.keys - array_of_keys
# => [:b]

答案 1 :(得分:2)

使用Array#-

h = {a: 1, b: 2}
h.keys - [:c, :b]
# => [:a]