JSFiddle - React, Tailwind, and code Playground
JavaScript
var a = [
{
date: "2015-01-22",
dog: 1
},
{
date: "2015-01-22",
cat: 2
},
{
date: "2015-01-22",
duck: 3
},
{
date: "2014-12-15",
bird: 4
},
{
date: "2014-12-01",
fly: 5
}
];
var group = function (array, key) {
var result = [],
temp = {},
item,
string,
i, prop;
for (i = 0; i < array.length; i++) {
item = array[i];
string = item[key].toString();
if (!temp[string]) {
temp[string] = {};
}
for (prop in item) {
temp[string][prop] = item[prop];
}
}
for (prop in temp) {
result.push(temp[prop]);
}
return result;
};
var b = group(a, "date");
console.dir(b);