I have an array of objects
var input = [
{
"cropName": "chickpea (bengal gram)",
"netSownArea": "1"
},
{
"cropName": "chickpea (bengal gram)",
"netSownArea": "1"
},
{
"cropName": "chickpea (bengal gram)",
"netSownArea": "1"
},
{
"cropName": "chickpea (bengal gram)",
"netSownArea": "1"
},
{
"cropName": "maize",
"netSownArea": "1"
},
{
"cropName": "maize",
"netSownArea": "1"
}
];
How can I add duplicate cropname area and unique value should be as it is
[
{
"cropName": "chickpea (bengal gram)",
"netSownArea": "4"
},
{
"cropName": "maize",
"netSownArea": "2"
}
]
I have tried below solution but it returns only unique value
function grouping(input) {
const res = Array.from(new Set(input.map(s => s.cropName)))
.map(cropName => {
return {
cropName: cropName,
netSownArea: input.find(s => s.cropName === cropName).netSownArea
}
});
return res;
};