@XiNull

Как запушить объект в массив?

Написал такой кусок кода, но что-то не то.
let users = [];
...
users[socket] = {}; // Создаем новый объект
users[socket].id = results[0].id; // ID пользователя из бд
users[socket].nickname = results[0].nickname;
users.push(users[socket]); // Пушим, надо сохранить сокет как ключ, ибо по нему идёт перебор пользователей
...

Как правильно запушить объект в массив?
  • Вопрос задан
  • 1438 просмотров
Решения вопроса 1
Xuxicheta
@Xuxicheta
инженер
const users = [];
// ...
const server = net.createServer((socket) => {
    const newUser = {};
    newUser.socket = socket;
    newUser.id = results[0].id; // ID пользователя из бд -- не знаю уж где вы его возьмете
    newUser.nickname = results[0].nickname;
    users.push(newUser);
    c.on('data', function(data) {
});


А вы почему то сначала массив объявляете, потом ему в свойства записываете айди. Ошибки не будет, но это будет уже не массив.
Причем в качестве имени свойства указываете ссылку на объект, это же не WeakMap.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@DLeo13
Массив это не объект. Объект можно запустить в массив, не наоборот.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы