Chap Chap - 2 months ago 5
Javascript Question

Search an array for matching attribute

I have an array, I need to return a restaurant's name, but I only know the value of its "food" attribute (not it's index number).

For example, how could I return "KFC" if I only knew "chicken"?

restaurants =
[
{"restaurant" : { "name" : "McDonald's", "food" : "burger" }},
{"restaurant" : { "name" : "KFC", "food" : "chicken" }},
{"restaurant" : { "name" : "Pizza Hut", "food" : "pizza" }}
];

Answer
for(var i = 0; i < restaurants.length; i++)
{
  if(restaurants[i].restaurant.food == 'chicken')
  {
    return restaurants[i].restaurant.name;
  }
}