목표는 룸에있는 사용자를 나열하는 것이므로 룸에 여러 사용자가 포함될 수 있으며 쉽게 검색되어야합니다.
전의:
user1 = {"username":"john","sex":"male"};
user2 = {"username":"robert","sex":"male"};
user3 = {"username":"isac","sex":"male"};
rooms["room1"].push(user1);
rooms["room1"].push(user2);
rooms["room2"].push(user3);
그리고
return rooms["room1"];
돌아와야한다
{"username":"john","sex":"male"};
{"username":"robert","sex":"male"};
물론 rooms[roomName].push(user2);
좋지 않다
그것을 달성하는 방법에 대한 아이디어가 있습니까?
var roomsMap = {
room1: [],
room2: [],
room3: []
};
roomsMap.room1.push(user1);
또는 키가 동적이어야하는 경우 :
roomsMap[roomKey].push(someUser);
편집하다:
거의 좋습니다. 하지만 roomsMap을 동적으로 만들고 room1, room2, room3에 제한되지 않는 방법은 무엇입니까?
이 방법으로 새 키 / 배열을 roomsMap
.
(roomsMap[roomKey] = roomsMap[roomKey] || []).push(user1);
완전한 예 :
var roomsMap = {},
user1 = {"username":"john","sex":"male"},
roomKey = 'room1';
(roomsMap[roomKey] = roomsMap[roomKey] || []).push(user1);
console.log(roomsMap[roomKey]); //[Object { username="john", sex="male"}]
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다