fork download
  1. function Chat() {
  2. let mpon = new Map();
  3. let mpc = new Map();
  4. let login = function(id) {
  5. if(mpon.has(id)===false) {
  6. mpon.set(id,true);
  7. mpc.set(id,0);
  8. }
  9. else {
  10. let count=mpc.get(id);
  11. mpc.delete(id);
  12. mpc.set(id,++count);
  13. }
  14. }
  15. let logout = function(id) {
  16. if(mpon.has(id)===true) {
  17. mpon.delete(id,true);
  18. }
  19. }
  20. let isOnline = function(id) {
  21. if(mpon.has(id)===true) {
  22. return true;
  23. }
  24. else {
  25. return false;
  26. }
  27. }
  28. let countOnline = function(id) {
  29. return mpon.size;
  30. }
  31. let countLogins = function(id) {
  32. if(mpc.has(id)===false) {
  33. return 0;
  34. }
  35. else {
  36. return mpc.get(id);
  37. }
  38. }
  39. return {
  40. login,
  41. logout,
  42. isOnline,
  43. countOnline,
  44. countLogins
  45. }
  46. }
  47.  
  48. const myChat = Chat();
  49. myChat.login(3);
  50. myChat.login(2);
  51. myChat.logout(3);
  52. console.log(myChat.countOnline()); // 1
Success #stdin #stdout 0.03s 16516KB
stdin
Standard input is empty
stdout
1