Sorting by timestamp with uneven arrays

Ok, this one is a little complicated and I’m sure there’s a better way
to do it. Here’s what I’m doing:

For presentation purposes, I have an array of arrays. Here’s the
structure of the array:

[
“indicator (string that I set” ,
<model object from db, different models> ,
timestamp
]

I’m creating and inserting the timestamp myself, as each model object
has a form of timestamp, whether or not it’s called that.

I’m doing it this way becuase I use a model method to get all of this
data, and the thing I want to do last is to sort by “timestamp”.

array.sort_by won’t work becuase it’s not a hash (although i tried
adding a hash and then sorting by that hash, but that didn’t work either
(got a nomethod error).

How can I make it so that I can sort this array?

Thanks so much in advance!

Mike

Hi –

On Sun, 9 Dec 2007, Mike D. wrote:

]

How can I make it so that I can sort this array?

Thanks so much in advance!

I’m not sure what you mean about #sort_by and being a hash. You can
use it on arrays.

Can you do this:

array_of_arrays.sort_by {|array| array[-1] }

assuming timestamp is always the last thing in the array?

David

On Dec 8, 2007, at 5:03 PM, Mike D. wrote:

array.sort_by won’t work becuase it’s not a hash (although i tried
adding a hash and then sorting by that hash, but that didn’t work
either
(got a nomethod error).

I’m not sure why you are looking for a hash.

data = [
[ “model1”, “instance of 1”, Time.now],
[ “model2”, “instance of 2”, Time.now - 100]
]

p data.sort_by { |x| x[2] } # => [[“model2”, “instance of 2”, Sat
Dec 08 17:15:41 -0500 2007], [“model1”, “instance of 1”, Sat Dec 08
17:17:21 -0500 2007]]

Gary W.

On Dec 8, 3:03 pm, Mike D. [email protected]
wrote:

]

How can I make it so that I can sort this array?

Thanks so much in advance!

Mike

Posted viahttp://www.ruby-forum.com/.

You have an array of arrays, each of which has as its last element a
timestamp? You should just be able to do this: array.sort_by{|e|
e.last}

Or did I read this wrong?

Chris

thanks everybody, it worked!

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs