how to collate an array of dictionaries into a dictionary of arrays?
<p>I have this data:</p>

<pre><code>list = [
      {name:'apple', category: "fruit", price: 1.22 },
      {name:'pear', category: "fruit", price: 2.22 },
      {name:'coke', category: "drink", price: 3.33 },
     {name:'sprite', category: "drink", price: .44 },
    ];
</code></pre>

<p>And I'd like to create a dictionary keyed on category, whose value is an array that contains all the products of that category. My attempt to do this failed:</p>

<pre><code>  var tmp = {};
    list.forEach(function(product) {
      var idx = product.category ;
      push tmp[idx], product;
    });
    tmp;
</code></pre>
