Показать сообщение отдельно
  #1 (permalink)  
Старый 03.05.2022, 18:34
Интересующийся
Отправить личное сообщение для Mr_Po Посмотреть профиль Найти все сообщения от Mr_Po
 
Регистрация: 20.04.2022
Сообщений: 10

Ещё 1 задачка
Тебе нужно показать юзерам кто из их друзей онлайн и готов к общению! Создай функцию whoIsOnline, которая принимает массив объектов friends и определяет кто из них online, offline или away. Если у юзера стоит статус online, но его не было в сети более 10 минут (lastActivity > 10), то можно считать, что его статус отныне away.

Пример входящих данных:

[{
username: 'Alice',
status: 'online',
lastActivity: 10
}, {
username: 'Lucy',
status: 'offline',
lastActivity: 22
}, {
username: 'Bob',
status: 'online',
lastActivity: 104
}]
Результат функции whoIsOnline:

{
online: ['Alice'],
offline: ['Lucy'],
away: ['Bob']
}
Если на сайте нет активных юзеров, то результат должен выглядеть так:

{
offline: ['Lucy'],
away: ['Bob']
}
Если ваших друзей совсем нет в чате, то в функцию прийдет пустой массив []. В таком случае нужно вернуть пустой объект {}

Вот что я написал:
function whoIsOnline(friends) {
  const users = [
    {
      username: 'David',
      status: 'online',
      lastActivity: 10,

    }, {
      username: 'Lucy',
      status: 'offline',
      lastActivity: 22,
    }, {

      username: 'Bob',
      status: 'online',
      lastActivity: 104,
    }];

  let usersOnlineNames = '';

  for (const item of massivOnlines) {
    usersOnlineNames += item.username + ', ';
  }
}
Ответить с цитированием