title: Does reduce in JavaScript/ECMAScript 5 stop on first false when using with and operator?
body: <pre><code>var a = [7,8,9,4,5,3,2,0,44];
  [0,2,8].reduce(function(p,c,i,arr){return p &amp;&amp; (a.indexOf(c)&gt;-1) },true)
  //true
  
  [0,2,8,45].reduce(function(p,c,i,arr){return p &amp;&amp; (a.indexOf(c)&gt;-1) },true)
  //false
  
  [0,2,8,44].reduce(function(p,c,i,arr){return p &amp;&amp; (a.indexOf(c)&gt;-1) },true)
  //true
  </code></pre>
  
  <p>Works fine!</p>
  
  <p>Is it smart enough to stop when callback fn returns false the first time ?</p>
  
  <p>BTW that code checks if array 'a' contains everything array 'arr' contains .</p>