title: javascript, how can this function possibly return an empty array?
body: <pre><code>function whatTheHeck(obj){
    var arr = []
  
    for(o in obj){
      arr.concat(["what"])
    }
  
    return arr
  }
  
  whatTheHeck({"one":1, "two": 2})
  </code></pre>
  
  <p>The concat function completely fails to do anything. But if I put a breakpoint on that line in Firebug and run the line as a watch it works fine. And the for loop iterates twice but in the end arr still equals [].</p>