У меня есть объект с именем клиенты.
var clients = {"username" : test, "socket": asdasdkje3sf};
Но я хочу добавить еще несколько клиентов. Если я добавлю клиента следующим образом:
clients = {
"username" : username,
"socket": socket.id
};
Он перезаписывается каждый раз, когда я добавляю новое значение. Я пробовал это так:
clients += {
"username" : username,
"socket": socket.id
};
Если я использую console.info(clients), кажется, что он работает, но возвращает [object][object][object][object].
Как я могу читать предметы? И это лучший подход для этого?
Заранее спасибо!
Возможный дубликат Как что-то добавить в массив?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


How can I read the objects? And is this the best approach to do this?
Используйте массив вместо объекта.
var clients = [{"username" : test, "socket": asdasdkje3sf}];
Вместо добавления через ++ используйте push
clients.push({
"username" : username,
"socket": socket.id
});
Вероятно, вам нужен массив объектов (клиентов).
var clients = [{"username" : test, "socket": asdasdkje3sf}];
Таким образом, вы можете легко подтолкнуть к нему новых клиентов.
var newClient = {"username": "another name", "socket": "foobar"};
clients.push(newClient);
push() - это массив метод, предоставляемый JavaScript.
Вам необходимо использовать структуру данных массива, в которой вы можете протолкнуть каждый объект для clients. То, как вы это делаете, неверно, поскольку он объединяет объект с другим объектом, что приводит к недопустимому объекту JSON.
var clients = [];
clients.push({
"username" : 'username1',
"socket": 'socket.id1'
});
clients.push({
"username" : 'username2',
"socket": 'socket.id2'
});
console.info(clients);Для чтения или отображения и использования объекта,
console.info(clients.username + "|" + clients.socket)
Добавьте к приведенным выше ответам, чтобы добавить объекты в массив, вы также можете использовать concat вместо push, если вы планируете объединить более двух массивов. Разница в том, что «push» обновляет тот же массив, «contact» объединяется и возвращает новый массив.
clientsдолжен быть массивом, а не объектом