title: return statement in forEach won't stop execution of function
body: <p>I am trying to determine whether or not an array holds a certain item. If it does, I would like to hold the function, otherwise it should get added.</p>
  
  <pre><code>function addPacking(item){
  
      data.packings.forEach(function(entry){
         if(item.name == entry.name){
             return;
         }
      });
  
      data.packings.push(item);
  
  }
  </code></pre>
  
  <p>Unfortunately, the data is pushed even when the if condition is met. How do I prevent this behaviour without using an <code>else</code> condition?</p>
  
  <p>(I do not want to use <code>else</code> because my actual code is a lot more complex than this and I'd like to keep it readable)</p>
  
  <p><strong>Edit:</strong></p>
  
  <p>Does <code>forEach</code> execute asynchronously?</p>