My JSON looks like this:
json = [
{
type: \"big\"
date: \"2012-12-08\"
qty: 6
}
{
type: \"small\"
date: \"2012-12-08\"
qty: 9
}
One more to mix which I think this is the longest answer of them all :-)
var sortedArray = [];
function traverseArray(element, index, array) {
var found = false;
for (i = 0; i < sortedArray.length; i++) {
if (sortedArray[i].type === element.type) {
if (sortedArray[i].date.substring(0, 7) === element.date.substring(0, 7)) {
sortedArray[i].qty = (sortedArray[i].qty + element.qty);
console.log(element);
found = true;
}
}
}
if (!found)
sortedArray.push(element);
}
var data = [{
type: "big",
date: "2012-12-08",
qty: 6
}, {
type: "small",
date: "2012-12-08",
qty: 9
}, {
type: "big",
date: "2012-12-15",
qty: 4
}, {
type: "small",
date: "2012-12-07",
qty: 7
}, {
type: "small",
date: "2012-11-07",
qty: 3
}];
data.forEach(traverseArray);
sortedArray.forEach(print);
function print(element, index, array) {
var line = "[ type: " + element.type + ", date: " + element.date + ", qty: " + element.qty + "]";
$("#result").append(line + "
");
}