[英]How to use associative array in JavaScript to retrieve users?
目標是列出房間中的用戶,因此一個房間可以包含許多用戶,並且應該易於檢索:
例如:
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"}]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.