【发布时间】:2015-09-16 16:48:38
【问题描述】:
我有以下 JSON:
{
"groups" : [
{
"values": "21",
"date": "2013-02-22"
},
{
"values": "25",
"date": "2013-02-22"
},
{
"values": "20",
"date": "2013-02-22"
},
{
"values": "19",
"date": "2013-02-22"
},
{
"values": "42",
"date": "2013-02-10"
},
{
"values": "30",
"date": "2013-02-10"
},
{
"values": "11",
"date": "2013-02-10"
}
]
}
我已经在 Ruby 类中提取了值和日期。我想找到每个日期的“最高”和“最低”值。我该怎么做?
我还想为它创建并行数组。例如:
low = [12, 22, 11, 45]
high = [34, 50, 15, 60]
dates = ["2013-02-22", "2013-02-10", "2013-02-06", "2013-02-01"]
我还想显示每个日期的所有值。
有人可以给我一些指导吗?
【问题讨论】:
-
你试过什么?
group_by函数在这里非常有用。 -
欢迎来到 Stack Overflow。为我们提供最少的输入数据、预期的输出以及重现您所看到的问题所需的最少代码非常重要。最后一部分,重现问题所需的最少代码帮助我们不要尝试所有可能的方法,而是专注于您如何解决问题。就目前而言,您似乎没有尝试过并希望我们为您尝试,或解释如何做到这一点,这两者都不是 SO 的工作原理。
-
当你在一个问题中给出一个例子时(通常是一件非常好的事情),输入是有效的 Ruby 对象是很重要的。如您所知,JSON 对象是字符串,因此您需要添加单引号
'{...}',或者使用%s[...]或heredoc。此外,您应该将所有输入值分配给变量,以便可以在答案和 cmets 中引用它们而无需定义它们。例如,str ='{...}'`。