我有一个名为clients的对象。
var clients = {"username" : test, "socket": asdasdkje3sf};
但我想添加更多客户端。如果我按以下方式添加客户端:
clients = {
"username" : username,
"socket": socket.id
};
每次添加新值时都会被覆盖。 我试过这种方式:
clients += {
"username" : username,
"socket": socket.id
};
如果我执行console.log(clients)
它似乎有效,但会返回[object][object][object][object]
。
我该如何阅读这些物品?这是最好的方法吗?
提前谢谢!
答案 0 :(得分:3)
我该如何阅读这些物品?这是最好的方法吗?
使用数组而不是对象。
var clients = [{"username" : test, "socket": asdasdkje3sf}];
使用++
push
添加
clients.push({
"username" : username,
"socket": socket.id
});
答案 1 :(得分:1)
您需要使用数组数据结构,您可以在其中推送clients
的每个对象。你正在做的方式不正确,因为它将对象与另一个导致无效JSON对象的对象连接起来。
var clients = [];
clients.push({
"username" : 'username1',
"socket": 'socket.id1'
});
clients.push({
"username" : 'username2',
"socket": 'socket.id2'
});
console.log(clients);
答案 2 :(得分:0)
您可能需要一组对象(客户端)。
var clients = [{"username" : test, "socket": asdasdkje3sf}];
通过这种方式,您可以轻松地将新客户推送到它。
var newClient = {"username": "another name", "socket": "foobar"};
clients.push(newClient);
push()
是一个数组method provided by JavaScript。
答案 3 :(得分:0)
要阅读或显示和使用对象,
console.log(clients.username + "|" + clients.socket)
添加上面的答案将对象添加到数组中,如果您计划合并两个以上的数组,也可以使用concat而不是push。不同之处在于推动'更新相同的数组,'联系'合并并返回一个新数组