我有散列以下阵列:如何根据日期对类对象进行排序?
@products = {#<ProductProxy:0xb486d148 @pA={"productAvailableDateTs"=>"2013-12-04T23:07:12.592Z", "mPrice"=>, "pStock"=>, "id"=>, "productId"=>, "productDesignerId"=>}>,
#<ProductProxy:0xb4adf304 @pA={"productAvailableDateTs"=>"2013-1-04T23:07:12.592Z", "mPrice"=>, "pStock"=>, "id"=>, "productId"=>, "productDesignerId"=>}>,
#<ProductProxy:0xb4adecec @pA={"productAvailableDateTs"=>"2013-15-03T23:07:12.592Z", "mPrice"=>, "pStock"=>, "id"=>, "productId"=>, "productDesignerId"=>}>,
...
}
我想根据productAvailableDateTs
值数组排序,按降序排列。我试图做以下几点:
@products = @products.sort_by{ |k| -k['productAvailableDateTs'] }
但这样做,我不能够访问productAvailableDateTs
领域。我试图打印@products[0]['productAvailableDateTs']
。但它打印nil
。我如何正确访问该字段?
这不是一个数组,它不包含散列。 –
@SergioTulentsev:对不起,我错过了','。它确实是一个数组。我将它定义为@products = Array.new – nish