I have an array of objects like below for example.
{name: \"Mc Donald\", quantity: 4, maleCount: 1, femaleCount: 0}
{name: \"KFC\", quantity: 9, maleCou
You can use array reduce:
var arr = [
{name: "Mc Donald", quantity: 4, maleCount: 1, femaleCount: 0},
{name: "KFC", quantity: 9, maleCount: 1, femaleCount: 0},
{name: "KFC", quantity: 9, maleCount: 1, femaleCount: 0},
{name: "Mc Donald", quantity: 4, maleCount: 0, femaleCount: 1},
{name: "KFC", quantity: 9, maleCount: 0, femaleCount: 1},
{name: "KFC", quantity: 9, maleCount: 1, femaleCount: 0},
{name: "KFC", quantity: 9, maleCount: 0, femaleCount: 1},
{name: "KFC", quantity: 9, maleCount: 0, femaleCount: 1}
];
var finalArr = arr.reduce((m, o) => {
var found = m.find(p => p.name === o.name);
if (found) {
found.quantity += o.quantity;
found.maleCount += o.maleCount;
found.femaleCount += o.femaleCount;
} else {
m.push(o);
}
return m;
}, []);
console.log(finalArr);