как присвоить obj [ключ] массиву - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь назначить пустой объект с переменной [ключ] для массива и pu sh элемент для массива, но по какой-то причине он не работает должным образом. Интересно, почему первый элемент в массиве является пустой строкой? Как правильно назначить его массиву. Может ли какой-нибудь совет, пожалуйста? спасибо!

let online = {};
let users = [];
let userInRoom =[];


 socket.on('join', ({ username, room, uUID }, cb) => {


    if(room in online){
        if(!online[room].includes(username)){
            online[room].push(username);
        }

    }else{
        online[room]=[...userInRoom, username];
    }

    console.log("online", online, "users", users);
   //---> the console result ==> online { general: [ '', 'jiojoij' ] } users [ 'jiojoij' ]

 });

Интересно, почему первый элемент в массиве - пустая строка? Как правильно присвоить его массиву.

1 Ответ

0 голосов
/ 04 мая 2020

Ваш лог c кажется немного запутанным. Какой смысл в массиве userInRoom, если он всегда пуст? Я бы попробовал что-то вроде:

if (!(room in online)) {
    online[room] = [];
}
if (!online[room].includes(username)) {
    online[room].push(username);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...