【发布时间】:2017-04-21 20:33:06
【问题描述】:
我有一个哈希数组 (array1),如下所示:
array1 = [
{:ID=>"1", :value=>"abc"},
{:ID=>"2", :value=>"def"}
]
我可以遍历每个哈希并手动检查每个哈希值:
array1.each do |h|
if h.has_value?("def")
#do something
end
end
有没有一种方法可以检查哈希值“abc”是否存在于数组内部的哈希中,而不必遍历数组?
【问题讨论】:
-
是的,不要使用数组。它消除了查找哈希表的
O(1)点。只需为此使用 JS 对象文字。 -
array1是从哪里来的,是怎么产生的?是否可以在array1的原点更改结构(例如更改为哈希)? -
您认为
"1"是您的数组散列中的一个值吗? -
是的,根据定义,“1”和“abc”是哈希值。其中“ID”和“值”是键。