在对象Javascript中添加/更改值
我有一个名为clients的对象在对象Javascript中添加/更改值,javascript,arrays,reactjs,object,socket.io,Javascript,Arrays,Reactjs,Object,Socket.io,我有一个名为clients的对象 var clients = {"username" : test, "socket": asdasdkje3sf}; 但我想增加一些客户。如果我按以下方式添加客户端: clients = { "username" : username, "socket": socket.id }; 每次我添加新值时,它都会被覆盖。 我试过这样做: clients += { "username" : username, "socket": socket.id
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]
我怎样才能读懂这些东西?这是最好的方法吗
提前谢谢你
我怎样才能读懂这些东西?这是最好的方法吗
使用数组,而不是对象
var clients = [{"username" : test, "socket": asdasdkje3sf}];
不要通过++
添加,而是使用push
clients.push({
"username" : username,
"socket": socket.id
});
您可能需要一组对象(客户机) 通过这种方式,您可以轻松地将新客户推到it上
var newClient = {"username": "another name", "socket": "foobar"};
clients.push(newClient);
push()。这样做是不正确的,因为它将对象与另一个对象连接在一起,从而导致JSON对象无效
var客户机=[];
客户,推({
“用户名”:“username1”,
“套接字”:“socket.id1”
});
客户,推({
“用户名”:“username2”,
“套接字”:“socket.id2”
});
console.log(客户端)代码>读取或显示以及对象使用
console.log(clients.username + "|" + clients.socket)
若要将对象添加到数组中,若要合并两个以上的数组,还可以使用concat而不是push。区别在于“推送”更新同一数组,“联系人”合并并返回一个新数组客户端
应该是一个数组,而不是对象可能的副本
console.log(clients.username + "|" + clients.socket)