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

Как сгруппировать массив объектов по значениям одного из их свойств?

Есть массив:

const persons = [
  { name: 'Alex', age: 20 },
  { name: 'Lena', age: 25 },
  { name: 'Pavel', age: 20 }
]

Надо получить:

{
  20: [{ name: 'Alex', age: 20 }, { name: 'Pavel', age: 20 } ],
  25: [{ name: 'Lena', age: 25 }]
}
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
@n1ksON
мидл
const persons = [
{ name: 'Alex', age: 20 },
{ name: 'Lena', age: 25 },
{ name: 'Pavel', age: 20 }
]

let obj = {}
persons.forEach(v => {
    if (v.age in obj) {
      let arr = obj[v.age];
      arr.push(v);
      obj[v.age] = arr;
    } else { 
      obj[v.age] = [v] 
    }
})
Ответ написан
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Вы быстрее в поисковике ответ нашли бы
https://yandex.ru/search/?text=javascript%20how%20...
Вот, прямо вверху выдачи https://stackoverflow.com/questions/54177679/how-t...
Ответ написан
Ваш ответ на вопрос

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

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