Вывод без повторений(js)

Рейтинг: 1Ответов: 1Опубликовано: 11.02.2023

Хочу понять как вывести в данные по чату.

Должно быть - Всего пользователей: 4 Вот они: admin, Андре, Brian, Boss.

судя по написанному коду выводится немного по другому - пользователей 5, вторая строка дублируется 5 раз

let user1 = {
   
    chat: [
      {from: "admin", text: "Вы предупреждены!"},
      {from: "Андре", text: "Собираем встречу в понедельник в 19:00. "},
      {from: "admin", text: "Ваш рейтинг 100 баллов"},
      {from: "Brian", text: "hello, world"},
      {from: "Boss", text: "hello, Brian"},
    ]
};

const userChat1 = () => {
  let one = user1.chat.length;
  console.log(`Всего пользователей: ${one}`);
 for (i = 0; i < user1.chat.length; i++) {
   let gh = user1.chat[i];
   console.log(`Вот они: ${gh.from}`)
  }
}
  userChat1()

Ответы

▲ 1
let user1 = {
  chat: [
    { from: "admin", text: "Вы предупреждены!" },
    { from: "Андре", text: "Собираем встречу в понедельник в 19:00. " },
    { from: "admin", text: "Ваш рейтинг 100 баллов" },
    { from: "Brian", text: "hello, world" },
    { from: "Boss", text: "hello, Brian" }
  ]
};

const userChat = (chat) => {
  const users = new Set(chat.map((item) => item.from)) // создаем коллекцию уникальных значений и отправляем туда массив имен

  console.log(`Всего пользователей: ${users.size}`);
  console.log(`Вот они: ${[...users].join(', ')}`)
}

userChat(user1.chat)