Find display value in array

Hi,

I have a array that looks like this
Type = [[“key”,“value”],[“key…”,“value…”],["…","…"]]

Now i want to the the display (value) when i have the key, is this a OK
way to do it? Or is there a better way?

Type.select{|key,disp| key == “H” }.collect{|key,value|value}.to_s

On Jul 10, 2007, at 7:10 AM, Jon S. wrote:

Hi,

I have a array that looks like this
Type = [[“key”,“value”],[“key…”,“value…”],["…","…"]]

Now i want to the the display (value) when i have the key, is this
a OK
way to do it? Or is there a better way?

Yes. You want the assoc() method:

assoc_array = [%w[key1 value1], %w[key2 value2], %w[key3 value3]]
=> [[“key1”, “value1”], [“key2”, “value2”], [“key3”, “value3”]]

assoc_array.assoc(“key2”).last
=> “value2”

Hope that helps.

James Edward G. II

Type = [[“key”,“value”],[“key…”,“value…”],["…","…"]]

Now i want to the the display (value) when i have the key, is this a OK
way to do it? Or is there a better way?

Type.select{|key,disp| key == “H” }.collect{|key,value|value}.to_s

Is this what you want to do?
If so, I think iteration is easier than that.
I think it is also faster but I did not check.

arr = [[“A”,2],[“H”,3],[“H”,4]]
arr.each {|x| print x[1] if x[0] == “H”}

Harry

Thanks for a good solution!

Now i saw that i had may key on in the last position in the inner array,
is there someother function that i use insted, so i can search for last
item? and return the first.

James G. wrote:

On Jul 10, 2007, at 7:10 AM, Jon S. wrote:

Hi,

I have a array that looks like this
Type = [[“key”,“value”],[“key…”,“value…”],["…","…"]]

Now i want to the the display (value) when i have the key, is this
a OK
way to do it? Or is there a better way?

Yes. You want the assoc() method:

assoc_array = [%w[key1 value1], %w[key2 value2], %w[key3 value3]]
=> [[“key1”, “value1”], [“key2”, “value2”], [“key3”, “value3”]]

assoc_array.assoc(“key2”).last
=> “value2”

Hope that helps.

James Edward G. II

Aha, sweet :wink: Thank you!

Florian G. wrote:

On Jul 10, 2:54 pm, Jon S. [email protected] wrote:

Now i saw that i had may key on in the last position in the inner array,
is there someother function that i use insted, so i can search for last
item? and return the first.

Try rassoc. :slight_smile:

On Jul 10, 2:54 pm, Jon S. [email protected] wrote:

Now i saw that i had may key on in the last position in the inner array,
is there someother function that i use insted, so i can search for last
item? and return the first.

Try rassoc. :slight_smile: