Задать вопрос
@XiNull

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

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

Как правильно запушить объект в массив?
  • Вопрос задан
  • 1955 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 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
Массив это не объект. Объект можно запустить в массив, не наоборот.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект