From: Patrick Cotner Date: 2007-09-04T12:00:39+09:00 Subject: [solved]array of hashes: finding hash with min value for key Stefan Rusterholz wrote: > Patrick Cotner wrote: >> I'm trying to write a proggy to help me figure out how long it will take >> to pay off a credit card based on a payment value. >> The card can have multiple sections with different owed amounts and >> aprs. >> Since the credit card companies pay off lower interest sections prior to >> higher, I need to be able to determine which section has lowest apr. For >> example >> >> >> sections << { :type => "Purchases", :owed => 840.64, :apr => 0.2474 } >> sections << { :type => "Transfers", :owed => 3453.45, :apr => 0.1774 } >> >> >> >> I've set up a loop to iterate through each section and apply a finance >> charge to the owed amounts. I have a variable with my payment amount. >> After applying the finance charge, i need to see if section[:apr] is the >> lowest of all sections, in order to apply the payment to that section >> only. >> How would this be done? >> >> -Patrick > > ri Enumerable#min > sections.min { |a,b| a[:apr] <=> b[:apr] } > > Regards > Stefan Thanks, David, but I went with Stephan's example. I posted the (ugly) finished code over here: http://www.ruby-forum.com/topic/123523 Thanks, Stephan! -- Posted via http://www.ruby-forum.com/.