Doug McK
Doug McK

Reputation: 468

ruby: search an multi-dimensional array for a value and update if needed

Trying to look through an array and see if a particular value is set and if it is, update the numbers attached to it.

Example:

test = [['test',1,2],['watch',1,2],['fish',1,2]]

So I'd like to search this array for 'test' - if it exists, amend the values '1,2', if it doesn't exist, just add the new search term into the array.

New to ruby and having trouble searching inside a multi-dimensional array and getting the key back

Upvotes: 2

Views: 3969

Answers (1)

ctoneal
ctoneal

Reputation: 422

I'd go for the hash method suggested in the comments, but if you're really wanting to store your data in the multidimensional array like that I suppose you could do something like:

search_term = "test"
search_item= nil
test.each do |item|
  if item.include? search_term
    search_item = item
  end
end

if search_item.nil?
  test << [search_term]
else
  search_item << [1,2]
end

I think that would do it (although I'm a little fuzzy on what you were wanting to do after you found the item).

Upvotes: 2

Related Questions