grouping
by oktaviardi pratama
HTML
<div id="json">
</div>
JavaScript
const data = [
{ name_company: 'abc', year: 2020 },
{ name_company: 'abc', year: 2021 },
{ name_company: 'def', year: 2023 },
];
const groupedData = data.reduce((result, item) => {
const existingItem = result.find((group) => group.name_company === item.name_company);
if (existingItem) {
existingItem.same_company.push({ name_company: item.name_company, year: item.year });
} else {
result.push({...item, ...{
same_company: [{ name_company: item.name_company, year: item.year }],}});
}
return result;
}, []);
console.log(groupedData);
document.getElementById("json").textContent = JSON.stringify(groupedData, undefined, 2);