javascript 实现java中的MapJavascript实现java中的Map,代码是在国外的一个网站上看到的(http://stackoverflow.com/questions/368280/javascript-hashmap-equivalent),自己稍作了修改,之前也看到过有人用2个数组实现了Map,但是我感觉效率比较低,现在这个我感觉效率还可以,自己做了下测试,代码如下:Map.js
Java代码functionMap(linkItems){this.current=undefined;this._size=0;if(linkItems===false){this.disableLinking();}}/***获取当前map*@return当前对象*/Map.noop=function(){returnthis;};/***非法操作*@return*/Map.illegal=function(){thrownewError("非法操作,Map已经被禁用");};/****@paramobj*@paramforeignKeys*@return*/Map.from=function(obj,foreignKeys){varmap=newMap;for(varPRopinobj){if(foreignKeys||obj.hasOwnProperty(prop)){map.put(prop,obj[prop]);}}returnmap;};/***禁用map*@return*/Map.prototype.disableLinking=function(){this.link=Map.noop;this.unlink=Map.noop;this.disableLinking=Map.noop;this.next=Map.illegal;this.key=Map.illegal;this.value=Map.illegal;this.clear=Map.illegal;returnthis;};/***返回hash值例如:number123