break array of objects into separate arrays based on a property
This is an easy job for Array.reduce(…): function groupBy(arr, property) { return arr.reduce(function(memo, x) { if (!memo[x[property]]) { memo[x[property]] = []; } memo[x[property]].push(x); return memo; }, {}); } var o = groupBy(arr, ‘type’); // => {orange:[…], banana:[…]} o.orange; // => [{“type”:”orange”,”title”:”First”},{“type”:”orange”,”title”:”Second”}] o.banana; // => [{“type”:”banana”,”title”:”Third”},{“type”:”banana”,”title”:”Fourth”}] Of course, if your target browser(s) do not support ECMAScript … Read more