so this is my array:
0: {universityYear: 'Anul universitar 2022-2023', name: 'Pimpulsul'}
1: {universityYear: 'Anul universitar 2021-2022', name: 'Evrikaul'}
2: {universityYear: 'Anul universitar 2021-2022', name: 'Po'}
and I want to obtain:
0: {universityYear: 'Anul universitar 2022-2023', name: ['Pimpulsul'] }
1: {universityYear: 'Anul universitar 2021-2022', name: ['Evrikaul', 'Po'] }
You can use the reduce:
let arr = [
{universityYear: 'Anul universitar 2022-2023', name: 'Pimpulsul'},
{universityYear: 'Anul universitar 2021-2022', name: 'Evrikaul'},
{universityYear: 'Anul universitar 2021-2022', name: 'Po'}
];
let newArr = arr.reduce((out, cv, ci, re) => {
let targetIndex = out.findIndex(item => item.universityYear == cv.universityYear);
if(targetIndex > -1)
out[targetIndex].name.push(cv.name);
else
out.push({...cv, name: [cv.name]})
return out;
}, []);
console.log(newArr)