title: Function with forEach returns undefined even with return statement
body: <p>I'm just making a function for checking a value of something in my object array, but for some reason it keeps returning <code>undefined</code>. Why is that?</p>
  
  <p>Demo: <a href="http://jsfiddle.net/cNYwz/1/" rel="noreferrer">http://jsfiddle.net/cNYwz/1/</a></p>
  
  <pre><code>var data = [{
      "Key": "1111-1111-1111",
          "Email": "test@test.com"
  }, {
      "Key": "2222-2222-2222",
          "Email": "test@boo.com"
  }];
  
  
  function getByKey(key) {    
      data.forEach(function (i, val) {
          if (data[val].Key === key) {
              return data[val].Key;
          } else {
              return "Couldn't find";
          }
      });
  }
  
  var asd = getByKey('1111-1111-1111');
  console.log(asd);
  </code></pre>