国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript中實現map功能代碼分享

2024-05-06 16:22:09
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了JavaScript中實現map功能代碼分享,本文直接給出實現代碼,給出一個MAP類,類中包含大多數的常用方法,還可以自己擴展,需要的朋友可以參考下

 

 
  1. /* 
  2. * MAP對象,實現MAP功能 
  3. * 
  4. * 接口: 
  5. * size() 獲取MAP元素個數 
  6. * isEmpty() 判斷MAP是否為空 
  7. * clear() 刪除MAP所有元素 
  8. * put(key, value) 向MAP中增加元素(key, value) 
  9. * remove(key) 刪除指定KEY的元素,成功返回True,失敗返回False 
  10. * get(key) 獲取指定KEY的元素值VALUE,失敗返回NULL 
  11. * element(index) 獲取指定索引的元素(使用element.key,element.value獲取KEY和VALUE),失敗返回NULL 
  12. * containsKey(key) 判斷MAP中是否含有指定KEY的元素 
  13. * containsValue(value) 判斷MAP中是否含有指定VALUE的元素 
  14. * values() 獲取MAP中所有VALUE的數組(ARRAY) 
  15. * keys() 獲取MAP中所有KEY的數組(ARRAY) 
  16. * 
  17. * 例子: 
  18. * var map = new Map(); 
  19. * 
  20. * map.put("key", "value"); 
  21. * var val = map.get("key") 
  22. * …… 
  23. * 
  24. */ 
  25. function Map() { 
  26. this.elements = new Array(); 
  27.  
  28. //獲取MAP元素個數 
  29. this.size = function() { 
  30. return this.elements.length; 
  31.  
  32. //判斷MAP是否為空 
  33. this.isEmpty = function() { 
  34. return(this.elements.length < 1); 
  35.  
  36. //刪除MAP所有元素 
  37. this.clear = function() { 
  38. this.elements = new Array(); 
  39.  
  40. //向MAP中增加元素(key, value) 
  41. this.put = function(_key, _value) { 
  42. this.elements.push( { 
  43. key : _key, 
  44. value : _value 
  45. }); 
  46.  
  47. //刪除指定KEY的元素,成功返回True,失敗返回False 
  48. this.remove = function(_key) { 
  49. var bln = false
  50. try
  51. for(i = 0; i < this.elements.length; i++) { 
  52. if(this.elements[i].key == _key) { 
  53. this.elements.splice(i, 1); 
  54. return true
  55. catch(e) { 
  56. bln = false
  57. return bln; 
  58.  
  59. //獲取指定KEY的元素值VALUE,失敗返回NULL 
  60. this.get = function(_key) { 
  61. try
  62. for(i = 0; i < this.elements.length; i++) { 
  63. if(this.elements[i].key == _key) { 
  64. return this.elements[i].value; 
  65. catch(e) { 
  66. return null
  67.  
  68. //獲取指定索引的元素(使用element.key,element.value獲取KEY和VALUE),失敗返回NULL 
  69. this.element = function(_index) { 
  70. if(_index < 0 || _index >= this.elements.length) { 
  71. return null
  72. return this.elements[_index]; 
  73.  
  74. //判斷MAP中是否含有指定KEY的元素 
  75. this.containsKey = function(_key) { 
  76. varbln = false
  77. try
  78. for(i = 0; i < this.elements.length; i++) { 
  79. if(this.elements[i].key == _key) { 
  80. bln = true
  81. catch(e) { 
  82. bln = false
  83. return bln; 
  84.  
  85. //判斷MAP中是否含有指定VALUE的元素 
  86. this.containsValue = function(_value) { 
  87. var bln = false
  88. try
  89. for(i = 0; i < this.elements.length; i++) { 
  90. if(this.elements[i].value == _value) { 
  91. bln = true
  92. catch(e) { 
  93. bln = false
  94. return bln; 
  95.  
  96. //獲取MAP中所有VALUE的數組(ARRAY) 
  97. this.values = function() { 
  98. var arr = new Array(); 
  99. for(i = 0; i < this.elements.length; i++) { 
  100. arr.push(this.elements[i].value); 
  101. return arr; 
  102.  
  103. //獲取MAP中所有KEY的數組(ARRAY) 
  104. this.keys = function() { 
  105. var arr = new Array(); 
  106. for(i = 0; i < this.elements.length; i++) { 
  107. arr.push(this.elements[i].key); 
  108. return arr; 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 彭泽县| 都江堰市| 凌云县| 临漳县| 进贤县| 朔州市| 科技| 扎鲁特旗| 肃宁县| 安塞县| 广德县| 万山特区| 菏泽市| 黔西县| 海盐县| 布尔津县| 京山县| 迁安市| 吴桥县| 江北区| 绥宁县| 惠州市| 固镇县| 昔阳县| 新乡县| 铁力市| 巴马| 新疆| 灌南县| 剑阁县| 乌海市| 天门市| 鄢陵县| 桂东县| 陆川县| 临泉县| 县级市| 临湘市| 裕民县| 漳州市| 香格里拉县|