test complex array object
JavaScript
function addValue(obj, key, value, socketId) {
if (obj.hasOwnProperty(key)) {
obj[key].push({socketid: socketId, user: value});
} else {
obj[key] = [{socketid: socketId, user: value}];
}
}
var online = {};
addValue(online, "room1","userA1","sA1");
addValue(online, "room1","userA2","sA2");
addValue(online, "room2","userB1","sB1");
addValue(online, "room2","userB2","sB2");
addValue(online, "room2","userB3","sB3");
addValue(online, "room3","user3","s3");
console.log(JSON.stringify(online, null, " "));
//delete particular entry knowing all three things- key,value,socketId
//...
function deleteValue(obj, key, value, socketId) {
if (!obj.hasOwnProperty(key))
return;
obj[key] = obj[key].filter(function(x) {
return x.user != value || x.socketid != socketId
})
}
deleteValue(online, "room2","userB2","sB2");
console.log(JSON.stringify(online, null, " "));