Finding an element in an array of hashes

Discussion in 'Ruby' started by Alex Stupakov, Dec 4, 2009.

  1. Hi,

    I have an array of Facebooker::User objects

    so friends.class = Array
    and friends[1].class = Facebooker::User

    Facebooker::User objects which are basically hashes.

    each friend has a unique facebook_id so
    friends[1] = Integer

    I'd like to find the array member with a particular facebook_id.

    friends.find_by_id(12345) should return the corresponding
    Facebooker::User object

    What's the cleanest way to do this?
    Do I have to iterate over the array members or is there a method in Ruby
    that does this?


    Alex Stupakov, Dec 4, 2009
    1. Advertisements

  2. "basically" hashes? That doesn't look like hash syntax to me..

    friends.find { |friend| = 12345 }
    Aldric Giacomoni, Dec 4, 2009
    1. Advertisements

  3. You're right, my mistake.
    Thanks for the suggestion, it works great, and for the link.
    Alex Stupakov, Dec 4, 2009
  4. Careful, there should be a == there...

    Jesús Gabriel y Galán, Dec 4, 2009
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.