Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос Как в массиве сосчитать объекты с одинаковыми значениями свойства?
Nolis
@Nolis
it-гопник

Как сосчитать количество повторений в массиве объектов?

Есть массив с объектами следующего вида:
6024e5e150eaf027207951.png
Надо получить новый массив, где повторяющиеся элементы будут заменены на один, дополненный свойством, содержащим количество повторений. Т.е, было [{ name: "cat" }, { name: "cat" }], стало [{ name: "cat", count: 2 }].
  • Вопрос задан
  • 253 просмотра
Подписаться 1 Простой 3 комментария
Решения вопроса 1
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
Только вот не для фронта эта задача.
const result = {};
const arr = [{ name: "cat" }, { name: "cat" }];

arr.forEach(function(item){
  if(result[item.name]) {
    result[item.name].count += 1;
  } else {
    result[item.name] = {...item, count: 1};
  }
})

console.log(result) // { cat: { name: 'cat', count: 2 } }
console.log(Object.values(result)) // [{ name: "cat", count: 2 }]
console.log(arr) // [{ name: "cat" }, { name: "cat" }];
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы