Select arrays between date ranges with Ruby

前端 未结 3 1451
一个人的身影
一个人的身影 2020-12-06 09:09

I have an array of arrays, I want to select arrays with a date that falls in a certain range.

ar = [[72162, \"2014-01-21\"], 
[53172, \"2014-01-22\"], 
[4937         


        
3条回答
  •  温柔的废话
    2020-12-06 09:18

    I'd use Comparable#between?

    ar = [ [72162, "2014-01-21"], 
           [53172, "2014-01-22"], 
           [49374, "2014-01-23"], 
           [41778, "2014-01-24"], 
           [34182, "2014-01-25"], 
           [58869, "2014-01-26"], 
           [72162, "2014-01-27"], 
           [43677, "2014-01-28"], 
           [37980, "2014-01-29"], 
           [87354, "2014-01-30"], 
           [43677, "2014-01-31"]
         ]
    
    ar.select { |_,e| e.between?("2014-01-24","2014-01-29") }
    # => [[41778, "2014-01-24"],
    #     [34182, "2014-01-25"],
    #     [58869, "2014-01-26"],
    #     [72162, "2014-01-27"],
    #     [43677, "2014-01-28"],
    #     [37980, "2014-01-29"]]
    

提交回复
热议问题