找到具有正确ID ruby​​的元组

时间:2014-04-10 00:31:32

标签: ruby

您好我有一个元组(数组)列表,我想找到与元组的第一个对象中的ID匹配的元组。举个例子,这是数据的样子

[[object1, stat1],[object2, stat2], etc]

我想要做的是detect一个对象ID,然后获取统计信息。最好的方法是什么?

3 个答案:

答案 0 :(得分:1)

您可以使用ruby select:http://www.ruby-doc.org/core-2.1.1/Enumerable.html#method-i-select

执行此类操作
a = [["object1", "stat1"],["object2", "stat2"]]
a.select { |elem| elem.include?("object1") }

答案 1 :(得分:1)

我建议您转换数组

arr = [["object1", "stat1"],["object2", "stat2"],["object3", "stat3"]]

到哈希:

hash = Hash[arr]
  #=> {"object1"=>"stat1", "object2"=>"stat2", "object3"=>"stat3"}

或者,对于Ruby v2.0 +

hash = arr.to_h
  #=> {"object1"=>"stat1", "object2"=>"stat2", "object3"=>"stat3"}

以便您可以直接检索值:

hash["object2"] #=> "stat2"

答案 2 :(得分:0)

找你说?然后如何使用Enumerable#find

a = [["object1", "stat1"],["object2", "stat2"],["object3", "stat3"]]
id = a[0][0].object_id
stat = a.find { |e| e[0].object_id == id }[1]