【发布时间】:2015-07-08 07:13:14
【问题描述】:
我必须检查并从哈希数组中选择最新的一个。结构是这样的:
'histories':[
{
{
...
},
'created': "date1",
'items':[
{
'a': "Ready",
'b': "dfknsknfs",
},
{
'a': "sdfjbsf",
'b': "hello23",
}
]
},
{
{
...
},
'created': "date2",
'items':[
{
'a': "sknfkssd",
'b': "ksdfjshs",
},
{
'a': "Ready",
'b': "shdfjsh",
}
]
},
...
]
我必须首先找到值“Ready”,然后我必须选择最新的“created”日期。
我的尝试是这样的
ready_item = histories.select { |item| item.items.detect {|f| f.a == "Ready" } }
ready_item
但由于使用了detect,它只返回第一个检测到的值。但我需要得到最新的日期。它应该是什么可能的解决方案?
【问题讨论】:
-
您的哈希语法错误,您的尝试也不起作用,因为表达式无效。
-
我已经发布了一个类似的结构。无法从中发布数据。它的私人
-
好的,但是
item.items.detect不行。 -
我认为现在应该可以了。请检查
-
没有。这是行不通的,因为在 ruby 中访问哈希看起来像
item['items']['...']而不是在 javascriptitem.items...中。
标签: ruby-on-rails ruby ruby-2.0 ruby-2.2