首页 > 语言 > JavaScript > 正文

Javascript实现的Map集合工具类完整实例

2024-05-06 16:24:07
字体:大 中 小
来源:转载
供稿:网友

这篇文章主要介绍了Javascript实现的Map集合工具类,以完整实例形式分析了javascript实现map集合的构造、查找、删除、判断等相关技巧,需要的朋友可以参考下

本文实例讲述了Javascript实现的Map集合工具类。分享给大家供大家参考。具体如下:

 

 
  1. var Map = function(){ 
  2. // 构造entry实体 
  3. var Entry = function(key, value){ 
  4. this.key = key; 
  5. this.value = value; 
  6. } 
  7. this.entries = new Array(); 
  8. // 构造put方法在数组中放入一个Entry 
  9. this.put = function(key, value){ 
  10. // 数组中已存在就不放入 
  11. for (var i = 0; i < this.size(); i++) { 
  12. if (this.entries[i].key === key) { 
  13. return false; 
  14. } 
  15. } 
  16. this.entries.push(new Entry(key, value)); 
  17. }; 
  18. // 模拟get方法 
  19. this.get = function(key){ 
  20. for (var i = 0; i < this.size(); i++) { 
  21. if (this.entries[i].key === key) { 
  22. return this.entries[i].value; 
  23. } 
  24. } 
  25. return null; 
  26. }; 
  27. // 查找下标值 
  28. this.indexOf = function(key){ 
  29. var index = -1; 
  30. for (var i = 0; i < this.size(); i++) { 
  31. if (this.entries[i].key === key) { 
  32. index = i; 
  33. break; 
  34. } 
  35. } 
  36. return index; 
  37. } 
  38. // 删除一个元素 
  39. this.remove = function(key){ 
  40. var index = this.indexOf(key); 
  41. if (index != -1) { 
  42. this.entries.splice(index, 1); 
  43. } 
  44. } 
  45. // 取得map长度 
  46. this.size = function(){ 
  47. return this.entries.length; 
  48. }; 
  49. // 重新设置键值对 
  50. this.setValue = function(key, value){ 
  51. var index = this.indexOf(key); 
  52. if (index != -1) { 
  53. this.entries[i].value = value; 
  54. }; 
  55. }; 
  56. // 是否为空map 
  57. this.isEmpty = function(){ 
  58. return this.size() <= 0; 
  59. }; 
  60. //清空map ; 
  61. this.clear = function(){ 
  62. this.entries = []; 
  63. }; 
  64. // 得到entry实体 
  65. this.getEntry = function(index){ 
  66. if (index >= 0 && index < this.size()) { 
  67. return this.entries[index]; 
  68. } 
  69. return null; 
  70. } 
  71. this.toString = function(){ 
  72. var str = "["; 
  73. for (var i = 0; i < this.size(); i++) { 
  74. str += this.getEntry(i).key + "=" + this.getEntry(i).value + ","; 
  75. } 
  76. // 去除最后一个"," 
  77. str = str.substring(0, str.length - 1); 
  78. str += "]"; 
  79. return str; 
  80. }; 
  81. } 

希望本文所述对大家的javascript程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选