foreach loop and returning value of undefined

Viewed 1763

I was wondering if anyone could explain me why this function return undefined instead of founded object

var people = [
  {name: 'John'},
  {name: 'Dean'},
  {name: 'Jim'}
];

function test(name) {
  people.forEach(function(person){
    if (person.name === 'John') {
      return person;
    }   
  });
}

var john = test('John');
console.log(john);

// returning 'undefined'
2 Answers
Related