JSFiddle - React, Tailwind, and code Playground

by csornmo

HTML

<b>// Result should be</b>
<br><br>

customer: "company1", place: "place1", done: 1 <br>
customer: "company2", place: "place1", done: 2 <br>
customer: "company2", place: "place2", done: 1

JavaScript

var baseData = [
	{customer: "company1", place: "place1", done: 1},
	{customer: "company2", place: "place1", done: 1},
	{customer: "company2", place: "place1", done: 1},
	{customer: "company2", place: "place2", done: 1}
]


var newData = {};
baseData.forEach(function(item, index) {
	newData[item.customer + item.place] = newData[item.customer + item.place] || { customer: item.customer, place: item.place, done: 0 };
  	newData[item.customer + item.place].done += item.done;
});

console.log(Object.values(newData));