亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

JavaScript中利用Array和Object實現Map的方法

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

這篇文章主要介紹了JavaScript中利用Array和Object實現Map的方法,實例分析了javascript實現map的添加、獲取、移除、清空、遍歷等操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了JavaScript中利用Array和Object實現Map的方法。分享給大家供大家參考。具體如下:

昨天突然看到以前別人用JavaScript實現的Map感覺很不錯,但是發現有個別方法有問題,順便完善了下,添加了 remove 、indexOf 、values、clear等方法。

 

 
  1. /** 
  2. * @author blune68 
  3. * @version 0.1, 07/27/12 
  4.  
  5. */ 
  6. function Map(){ 
  7. this.keys = new Array();  
  8. this.data = new Object(); 
  9. var toString = Object.prototype.toString; 
  10. /** 
  11. * 當前Map當前長度 
  12. */ 
  13. this.size = function(){ 
  14. return this.keys.length; 
  15. /** 
  16. * 添加值 
  17. * @param {Object} key 
  18. * @param {Object} value 
  19. */ 
  20. this.put = function(key, value){ 
  21. if(this.data[key] == null){ 
  22. this.data[key] = value; 
  23. this.keys.push(key); 
  24. /** 
  25. * 根據當前key獲取value 
  26. * @param {Object} key 
  27. */ 
  28. this.get = function(key){ 
  29. return this.data[key]; 
  30. /** 
  31. * 根據當前key移除Map對應值 
  32. * @param {Object} key 
  33. */ 
  34. this.remove = function(key){ 
  35. var index = this.indexOf(key); 
  36. if(index != -1){ 
  37. this.keys.splice(index, 1); 
  38. this.data[key] = null
  39. /** 
  40. * 清空Map 
  41. */ 
  42. this.clear = function(){ 
  43. for(var i=0, len = this.size(); i < len; i++){ 
  44. var key = this.keys[i]; 
  45. this.data[key] = null
  46. this.keys.length = 0; 
  47. /** 
  48. * 當前key是否存在 
  49. * @param {Object} key 
  50. */ 
  51. this.containsKey = function(key){ 
  52. return this.data[key] != null
  53. /** 
  54. * 是否為空 
  55. */ 
  56. this.isEmpty = function(){ 
  57. return this.keys.length === 0; 
  58. /** 
  59. * 類型Java中Map.entrySet 
  60. */ 
  61. this.entrySet = function(){ 
  62. var size = this.size(); 
  63. var datas = new Array(size); 
  64. for (var i = 0, len = size; i < len; i++) { 
  65. var key = this.keys[i]; 
  66. var value = this.data[key]; 
  67. datas[i] = { 
  68. 'key' : key, 
  69. 'value':value  
  70. return datas; 
  71. /** 
  72. * 遍歷當前Map 
  73. * var map = new Map(); 
  74. * map.put('key', 'value'); 
  75. * map.each(function(index, key, value){ 
  76. * console.log("index:" + index + "--key:" + key + "--value:" + value) 
  77. * }) 
  78. * @param {Object} fn 
  79. */ 
  80. this.each = function(fn){ 
  81. if(toString.call(fn) === '[object Function]'){ 
  82. for (var i = 0, len = this.size(); i < len; i++) { 
  83. var key = this.keys[i]; 
  84. fn(i, key, this.data[key]); 
  85. return null
  86. /** 
  87. * 獲取Map中 當前key 索引值 
  88. * @param {Object} key 
  89. */ 
  90. this.indexOf = function(key){ 
  91. var size = this.size(); 
  92. if(size > 0){ 
  93. for(var i=0, len=size; i < len; i++){ 
  94. if(this.keys[i] == key) 
  95. return i; 
  96. return -1; 
  97. /** 
  98. * Override toString 
  99. */ 
  100. this.toString = function(){ 
  101. var str = "{"
  102. for (var i = 0, len = this.size(); i < len; i++, str+=",") { 
  103. var key = this.keys[i]; 
  104. var value = this.data[key]; 
  105. str += key + "=" + value;  
  106. str = str.substring(0, str.length-1); 
  107. str += "}"
  108. return str; 
  109. /** 
  110. * 獲取Map中的所有value值(Array) 
  111. */ 
  112. this.values = function(){ 
  113. var size = this.size(); 
  114. var values = new Array(); 
  115. for(var i = 0; i < size; i++){ 
  116. var key = this.keys[i]; 
  117. values.push(this.data[key]); 
  118. return values; 

希望本文所述對大家的javascript程序設計有所幫助。

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

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品国产自产在线老师啪| 日韩视频第一页| 欧美日韩国产一区二区三区| 精品国产一区二区三区久久久| 日韩视频永久免费观看| 欧美美女操人视频| 国产高清视频一区三区| 亚洲偷欧美偷国内偷| 成人在线视频福利| 日韩高清a**址| 热久久这里只有精品| 色播久久人人爽人人爽人人片视av| 91丝袜美腿美女视频网站| 国产精品美乳在线观看| 在线观看欧美www| 中文字幕一区电影| 亚洲福利在线视频| 国产精品私拍pans大尺度在线| 久久久久久久一区二区三区| 国模吧一区二区| 欧美激情中文字幕乱码免费| 中文字幕精品一区久久久久| 亚洲国产另类 国产精品国产免费| 国产日产亚洲精品| 亚洲春色另类小说| 成人中心免费视频| 激情亚洲一区二区三区四区| 亚洲视屏在线播放| 成人精品aaaa网站| 亚洲欧洲美洲在线综合| 欧美激情一区二区三区成人| 中文字幕亚洲综合久久| 大量国产精品视频| 久久久久久免费精品| 欧美亚洲另类视频| 成人欧美一区二区三区黑人孕妇| 欧美日韩国产色| 久久久久久亚洲精品不卡| 最近的2019中文字幕免费一页| 欧美巨乳在线观看| 国产一区红桃视频| 日韩av片电影专区| 国产精品一区二区电影| 亚洲欧美成人网| 日韩欧美综合在线视频| 91网在线免费观看| 成人国产亚洲精品a区天堂华泰| 国产精品精品国产| 欧美国产在线电影| 国产精品美女免费| 日韩av不卡在线| 久久成人一区二区| 国产精品三级在线| 97视频免费观看| 久久九九有精品国产23| 欧美激情视频免费观看| 欧美国产日本高清在线| 欧美理论电影在线播放| 国语自产精品视频在线看一大j8| 亚洲成人久久久| 久久久久国产精品免费网站| 国产一区二区三区在线视频| 亚洲精品按摩视频| 日本午夜人人精品| 日韩国产欧美区| 中日韩午夜理伦电影免费| 日韩在线视频网站| 欧美日韩中文在线观看| 国产99在线|中文| 国产精品色悠悠| 亚洲国产精品国自产拍av秋霞| 亚洲精品91美女久久久久久久| 成人伊人精品色xxxx视频| 国产精品99久久99久久久二8| 97视频在线观看免费高清完整版在线观看| 狠狠做深爱婷婷久久综合一区| 夜夜嗨av一区二区三区免费区| 亚洲成人精品视频在线观看| 亚洲精品女av网站| 成人午夜高潮视频| www.亚洲人.com| 日韩电影免费观看中文字幕| 亚洲第一中文字幕| 8x海外华人永久免费日韩内陆视频| 欧美性高潮在线| 综合136福利视频在线| 国语自产精品视频在线看抢先版图片| 欧美一级电影在线| 欧美成在线观看| 8x拔播拔播x8国产精品| 欧美寡妇偷汉性猛交| 一区国产精品视频| 国产精品美女免费视频| 亚洲欧美综合精品久久成人| 国产一区二区三区在线观看网站| 大伊人狠狠躁夜夜躁av一区| 国产日韩欧美在线观看| 日韩在线播放一区| 日本精品性网站在线观看| 国产日韩在线观看av| 日本欧美黄网站| 日韩精品免费在线视频观看| 亚洲女同精品视频| 69av视频在线播放| 在线播放亚洲激情| 国产亚洲人成网站在线观看| 国产欧美一区二区三区在线看| 亚洲第一区在线| 日韩二区三区在线| 91在线国产电影| 日韩中文字幕在线观看| 日韩中文字幕视频在线观看| 日本精品性网站在线观看| 中文字幕日韩综合av| 久久久久www| 国产成人高清激情视频在线观看| 日本高清视频一区| 色婷婷综合成人| 欧美自拍视频在线观看| 亚洲综合自拍一区| 欧美视频在线免费看| 欧美国产视频日韩| 久久久久久久色| 日韩中文字幕亚洲| 午夜精品久久久99热福利| 国产精品成人av在线| 黑人巨大精品欧美一区免费视频| 久久久久一本一区二区青青蜜月| 国产精品久久色| 久久频这里精品99香蕉| 欧美性受xxxx黑人猛交| 亚洲国产一区二区三区四区| 精品久久香蕉国产线看观看亚洲| 欧美午夜女人视频在线| 日韩av在线不卡| 欧美黄色三级网站| 亚洲美女在线视频| 成人av在线天堂| 久久久久久久一| 91在线中文字幕| 午夜精品久久久久久99热| 精品久久久久久久久久久久| 欧美资源在线观看| 蜜月aⅴ免费一区二区三区| 一道本无吗dⅴd在线播放一区| 成人精品一区二区三区电影免费| 成人免费淫片视频软件| 国产精品自拍偷拍视频| 国产中文字幕亚洲| 成人有码在线播放| 亚洲一区美女视频在线观看免费| 久久久久国产精品一区| 久久伊人色综合| 国产精品大片wwwwww| 91久久综合亚洲鲁鲁五月天| 亚洲第五色综合网| 亚洲老司机av| 久久久亚洲欧洲日产国码aⅴ| 欧美成人精品三级在线观看| 欧美日韩中文字幕综合视频| 日韩在线观看免费全集电视剧网站| 国产一区二区三区久久精品| 亚洲毛片一区二区| 欧美日韩成人网|