Дан массив пользователей чата. Про каждого пользователя известны имя, статус и время последней активности.
Напишите функцию, которая определяет, кто online
, offline
и away
. Если кто-то онлайн, но последний раз был активен более 10 минут назад, то он считается away
.
const users = [ { username: 'David', status: 'online', lastActivity: 10 }, { username: 'Lucy', status: 'offline', lastActivity: 22 }, { username: 'Bob', status: 'online', lastActivity: 104 }, ]; console.log(whosOnline(users)); // { // online: ['David'], // offline: ['Lucy'], // away: ['Bob'] // }
Если пользователей с каким-то статусом вообще нет в чате, то такого поля не должно быть в объекте.
const users2 = [ { username: 'David', status: 'online', lastActivity: 10 }, { username: 'Lucy', status: 'offline', lastActivity: 22 }, { username: 'Bob', status: 'online', lastActivity: 5 }, ]; console.log(whosOnline(users2)); // { // online: ['David', 'Bob'], // offline: ['Lucy'], // }