从哈希的键和数组之间的相等值创建一个数组

时间:2014-09-23 10:48:48

标签: ruby arrays hash match equality

我需要在哈希的键和数组之间用相等的值创建一个新数组 例如,我有这个:

my_array = [1,2,3,4,5,6,7,8,9,10]
my_hash  = { 2 => "Two", 5 => "Five", 7 => "Seven", 10 => "Ten" }

然后,我需要一个包含那些等价值的新数组。在这个例子中,它将是:

equal_value = [2,5,7,10]

如何获得?

1 个答案:

答案 0 :(得分:2)

equal_value = my_array.select{|e| my_hash.key?(e)}

或(可能更慢)

equal_value = my_array & my_hash.keys