我觉得这是个很简单的任务.我需要删除数组的重复值,例如,有3次2018-02-20 13:48:44,而我只想要其中的1次。
MyTab = [#<Poll id: nil, created_at: "2018-02-20 13:47:15">, #<Poll id: nil, created_at: "2018-02-20 13:48:44">, #<Poll id: nil, created_at: "2018-02-20 13:48:44">, #<Poll id: nil, created_at: "2018-02-20 13:48:44">, #<Poll id: nil, created_at: "2018-02-20 14:25:14">, #<Poll id: nil, created_at: "2018-02-20 14:25:14">, #<Poll id: nil, created_at: "2018-02-20 14:25:14">, #<Poll id: nil, created_at: "2018-02-20 14:32:38">, #<Poll id: nil, created_at: "2018-02-20 14:36:42">, #<Poll id: nil, created_at: "2018-02-20 14:36:42">, #<Poll id: nil, created_at: "2018-02-20 14:40:16">, #<Poll id: nil, created_at: "2018-02-20 15:30:15">, #<Poll id: nil, created_at: "2018-02-20 15:30:15">, #<Poll id: nil, created_at: "2018-03-06 10:24:25">, #<Poll id: nil, created_at: "2018-03-06 10:24:25">] 我已经试过了,但没有用:
MyTab.uniq{|x| x.created_at}谢谢你的回答:)。
Z.
发布于 2018-08-29 14:55:13
编辑:好的,我想我知道为什么如果我试着用它就不能工作了。
A=[“第一”、“第二”、“第一”)--.uniq正在工作,因此我将以这种方式更改数组。
发布于 2018-03-06 14:34:59
可能较慢,但应该有效:
MyTab.uniq { |x| Time.parse(x.created_at).to_i }
发布于 2018-03-06 14:53:35
如果您可以从模型中直接重写查询,我建议直接在其中执行逻辑。
Poll.select(:created_at).where("#{query_conditions}").distinct如果不是,我建议“本的回答。”
https://stackoverflow.com/questions/49133254
复制相似问题