敬的世界

          常用鏈接

          統(tǒng)計(jì)

          最新評(píng)論

          MAP IN JS

          1. source page :?? http://www.iteye.com/topic/196610
          2. Array.prototype.remove?=? function (s)?{ ??
          3. ???? for ?( var ?i?=?0;?i?<? this .length;?i++)?{ ??
          4. ???????? if ?(s?==? this [i]) ??
          5. ???????????? this .splice(i,?1); ??
          6. ????} ??
          7. } ??
          8. ??
          9. /** ?
          10. ?*?Simple?Map ?
          11. ?*? ?
          12. ?*? ?
          13. ?*?var?m?=?new?Map(); ?
          14. ?*?m.put('key','value'); ?
          15. ?*?... ?
          16. ?*?var?s?=?""; ?
          17. ?*?m.each(function(key,value,index){ ?
          18. ?*??????s?+=?index+":"+?key+"="+value+"\n"; ?
          19. ?*?}); ?
          20. ?*?alert(s); ?
          21. ?*? ?
          22. ?*?@author?dewitt ?
          23. ?*?@date?2008-05-24 ?
          24. ?*/ ??
          25. function ?Map()?{ ??
          26. ???? /**?存放鍵的數(shù)組(遍歷用到)?*/ ??
          27. ???? this .keys?=? new ?Array(); ??
          28. ???? /**?存放數(shù)據(jù)?*/ ??
          29. ???? this .data?=? new ?Object(); ??
          30. ???? ??
          31. ???? /** ?
          32. ?????*?放入一個(gè)鍵值對(duì) ?
          33. ?????*?@param?{String}?key ?
          34. ?????*?@param?{Object}?value ?
          35. ?????*/ ??
          36. ???? this .put?=? function (key,?value)?{ ??
          37. ???????? if ( this .data[key]?==? null ){ ??
          38. ???????????? this .keys.push(key); ??
          39. ????????} ??
          40. ???????? this .data[key]?=?value; ??
          41. ????}; ??
          42. ???? ??
          43. ???? /** ?
          44. ?????*?獲取某鍵對(duì)應(yīng)的值 ?
          45. ?????*?@param?{String}?key ?
          46. ?????*?@return?{Object}?value ?
          47. ?????*/ ??
          48. ???? this .get?=? function (key)?{ ??
          49. ???????? return ? this .data[key]; ??
          50. ????}; ??
          51. ???? ??
          52. ???? /** ?
          53. ?????*?刪除一個(gè)鍵值對(duì) ?
          54. ?????*?@param?{String}?key ?
          55. ?????*/ ??
          56. ???? this .remove?=? function (key)?{ ??
          57. ???????? this .keys.remove(key); ??
          58. ???????? this .data[key]?=? null ; ??
          59. ????}; ??
          60. ???? ??
          61. ???? /** ?
          62. ?????*?遍歷Map,執(zhí)行處理函數(shù) ?
          63. ?????*? ?
          64. ?????*?@param?{Function}?回調(diào)函數(shù)?function(key,value,index){..} ?
          65. ?????*/ ??
          66. ???? this .each?=? function (fn){ ??
          67. ???????? if ( typeof ?fn?!=? 'function' ){ ??
          68. ???????????? return ; ??
          69. ????????} ??
          70. ???????? var ?len?=? this .keys.length; ??
          71. ???????? for ( var ?i=0;i<len;i++){ ??
          72. ???????????? var ?k?=? this .keys[i]; ??
          73. ????????????fn(k, this .data[k],i); ??
          74. ????????} ??
          75. ????}; ??
          76. ???? ??
          77. ???? /** ?
          78. ?????*?獲取鍵值數(shù)組(類似Java的entrySet()) ?
          79. ?????*?@return?鍵值對(duì)象{key,value}的數(shù)組 ?
          80. ?????*/ ??
          81. ???? this .entrys?=? function ()?{ ??
          82. ???????? var ?len?=? this .keys.length; ??
          83. ???????? var ?entrys?=? new ?Array(len); ??
          84. ???????? for ?( var ?i?=?0;?i?<?len;?i++)?{ ??
          85. ????????????entrys[i]?=?{ ??
          86. ????????????????key?:? this .keys[i], ??
          87. ????????????????value?:? this .data[i] ??
          88. ????????????}; ??
          89. ????????} ??
          90. ???????? return ?entrys; ??
          91. ????}; ??
          92. ???? ??
          93. ???? /** ?
          94. ?????*?判斷Map是否為空 ?
          95. ?????*/ ??
          96. ???? this .isEmpty?=? function ()?{ ??
          97. ???????? return ? this .keys.length?==?0; ??
          98. ????}; ??
          99. ???? ??
          100. ???? /** ?
          101. ?????*?獲取鍵值對(duì)數(shù)量 ?
          102. ?????*/ ??
          103. ???? this .size?=? function (){ ??
          104. ???????? return ? this .keys.length; ??
          105. ????}; ??
          106. ???? ??
          107. ???? /** ?
          108. ?????*?重寫toString? ?
          109. ?????*/ ??
          110. ???? this .toString?=? function (){ ??
          111. ???????? var ?s?=? "{" ; ??
          112. ???????? for ( var ?i=0;i< this .keys.length;i++,s+= ',' ){ ??
          113. ???????????? var ?k?=? this .keys[i]; ??
          114. ????????????s?+=?k+ "=" + this .data[k]; ??
          115. ????????} ??
          116. ????????s+= "}" ; ??
          117. ???????? return ?s; ??
          118. ????}; ??
          119. } ??
          120. ??
          121. ??
          122. function ?testMap(){ ??
          123. ???? var ?m?=? new ?Map(); ??
          124. ????m.put( 'key1' , 'Comtop' ); ??
          125. ????m.put( 'key2' , '南方電網(wǎng)' ); ??
          126. ????m.put( 'key3' , '景新花園' ); ??
          127. ????alert( "init:" +m); ??
          128. ???? ??
          129. ????m.put( 'key1' , '康拓普' ); ??
          130. ????alert( "set?key1:" +m); ??
          131. ???? ??
          132. ????m.remove( "key2" ); ??
          133. ????alert( "remove?key2:?" +m); ??
          134. ???? ??
          135. ???? var ?s?= "" ; ??
          136. ????m.each( function (key,value,index){ ??
          137. ????????s?+=?index+ ":" +?key+ "=" +value+ "\n" ; ??
          138. ????}); ??
          139. ????alert(s); ??
          140. }??

          ?//testMap.htm

          Html代碼 復(fù)制代碼?收藏代碼
          1. < html > ??
          2. < head > ??
          3. < title > Test?Map </ title > ??
          4. < script ? language = "javascript" ? src = "map.js" > ??
          5. </ script > ??
          6. </ head > ??
          7. < body > ??
          8. < input ? type = "button" ? value = "test" ? onclick = "testMap()" > ??
          9. </ body > ??
          10. </ html > ?

          posted on 2011-08-05 17:16 picture talk 閱讀(222) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 彰化县| 云浮市| 屯留县| 赤城县| 东台市| 峨眉山市| 布拖县| 阿拉善右旗| 揭东县| 延边| 嵊泗县| 铜陵市| 宁明县| 周至县| 科尔| 延边| 东乡| 射洪县| 扶绥县| 无为县| 牡丹江市| 阿拉善盟| 罗田县| 林口县| 金华市| 赞皇县| 毕节市| 西平县| 深水埗区| 华容县| 墨脱县| 武乡县| 广汉市| 临洮县| 襄樊市| 巴塘县| 高平市| 阿鲁科尔沁旗| 兴海县| 吉隆县| 柳林县|