Для решения данной задачи можно воспользоваться методом reduce(). Вот как можно это сделать:
Этот код создаст новый объект, где повторяющиеся свойства "title" и "color" будут сгруппированы и будет добавлено свойство "count" показывающее количество повторений.
Для решения данной задачи можно воспользоваться методом reduce(). Вот как можно это сделать:
const obj = {0: {
title: 'Дверь',
color: 'Белая'
},
1: {
title: 'Дверь',
color: 'Белая'
},
2: {
title: 'Дверь',
color: 'Черная'
},
3: {
title: 'Дверь',
color: 'Черная'
},
4: {
title: 'Дверь',
color: 'Серая'
}
};
const result = Object.values(obj).reduce((acc, item) => {
const key = `${item.title}_${item.color}`;
if(acc[key]) {
acc[key].count++;
} else {
acc[key] = {
title: item.title,
color: item.color,
count: 1
};
}
return acc;
}, {});
console.log(Object.values(result));
Этот код создаст новый объект, где повторяющиеся свойства "title" и "color" будут сгруппированы и будет добавлено свойство "count" показывающее количество повторений.