2016-02-14 75 views
0

我想on Rails的在Ruby中創建一個日曆列表如何從數組中刪除相同的值?

我創建了一個日期範圍:

date_range = [['Feb 10', 'Feb 11'], ['Feb 11', 'Feb 12'], ['Feb 10', 'Feb 11', 'Feb 12']] 

我跑這個代碼:

date_range.each do |day| 
    for daytime in day 
    puts daytime 
    end 
end 

輸出是:

Feb 10 Feb 11 Feb 11 Feb 12 Feb 10 Feb 11 Feb 12 

我怎樣才能顯示:

Feb 10 Feb 11 Feb 12 
+5

你'date_range'是不是有效的對象。 – sawa

+2

除了語法,你的'date_range'似乎是一個日期對數組(即2D數組),而你的輸出顯示單個日期。你能解釋一下嗎? – Stefan

+0

什麼是日期欄和日期欄? – sawa

回答

5

要明確得到你之後的結果,怎麼樣

date_range.flatten.uniq.zip 
+0

我不知道'sort'是否有必要。 – sawa

+0

@sawa是的,在他的例子中不是。我只是想給一些更強大的東西。 –

+0

@sawa我不太瞭解Rails及其用例。你會建議刪除'sort'嗎? –

2

這裏是要做到這一點(與着臉)另一種方式:

date_range.reduce(:|) 
#=> ["Feb 10", "Feb 11", "Feb 12"]