exdude
@exdude

Какой алгоритм действий предпринять для предотвращения повторений в объекте?

Есть массив с данными:
[
    {
        contry: 'Russia',
        name: 'Alex',
        Age: '34',
    },
    {
        contry: 'Russia',
        name: 'July',
        Age: '22',
    },
    {
        contry: 'USA',
        name: 'Tom',
        Age: '32',
    },
    {
        contry: 'USA',
        name: 'Jack',
        Age: '74',
    },
]


Я хочу вложить данные массива на страницу без повторений таким образом:
Russia:
   Alex, 34
   July, 22
USA:
   Tom, 32
   Jack, 74

Но могу только так:
Russia:
   Alex, 34
Russia:
   July, 22
USA:
   Tom, 32
USA:
   Jack, 74


Как мне сравнить два ключа объекта и записать их в одну категорию, что бы не было таких повторов как выше?
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
@ArturFirst
Проверь в консоли то или нет. Из вопроса не понятно какую структуру данных ты хочешь получить.
const arr = [
    {
        contry: 'Russia',
        name: 'Alex',
        age: '34',
    },
    {
        contry: 'Russia',
        name: 'July',
        age: '22',
    },
    {
        contry: 'USA',
        name: 'Tom',
        age: '32',
    },
    {
        contry: 'USA',
        name: 'Jack',
        age: '74',
    },
]

arr.reduce((acc, item) => {
  const { contry, name, age } = item;
  if(!acc.hasOwnProperty(contry)) acc[contry] = {[name]:age}
  else acc[contry] = {...acc[contry], [name]: age}
  return acc
}, {})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы