js封装的MAP

来源:互联网 发布:建筑节能设计分析软件 编辑:程序博客网 时间:2024/05/23 19:44
  1. function Map(){  
  2.     this.init();  
  3. };  
  4. //map的大小  
  5. Map.prototype.size = function(){  
  6.     return this._size;  
  7. };  
  8. //将数据放入map中  
  9. Map.prototype.put = function(key,value){  
  10.     if(!this.containsKey(key)){  
  11.         this.array[key] = value;  
  12.         this._size++;  
  13.     }  
  14. };  
  15. //根据key获得map的其中一个value  
  16. Map.prototype.get = function(key){  
  17.     return this.array[key];  
  18. };  
  19. //map是否为空集合  
  20. Map.prototype.isEmpty = function(){  
  21.     return this._size === 0;  
  22. };  
  23. //map集合是否包含key  
  24. Map.prototype.containsKey = function(key){  
  25.     return this.array[key]!==undefined?true:false;  
  26. };  
  27. //移除指定的key  
  28. Map.prototype.remove = function(key){  
  29.     if(this.containsKey(key)){  
  30.         delete this.array[key];  
  31.         this._size--;  
  32.     }  
  33. };  
  34. //移除所有集合  
  35. Map.prototype.clear = function(){  
  36.     this.init();  
  37. };  
  38. //map集合转化成Array  
  39. Map.prototype.toArray = function(){  
  40.     return this.array;  
  41. };  
  42. //初始化map集合  
  43. Map.prototype.init = function(){  
  44.     this.array = new Array();  
  45.     this._size = 0;  
  46.     this._keySet = new Array();  
  47. };  
  48. 用法如下:

    [javascript] view plaincopyprint?
    1. var map = new Map();  
    2. map.put("lynn","25");  
    3. map.put("min","24");  
    4. map.put("min1",0);  
    5. map.remove("min");  
    6. var arr = map.toArray();  
    7. for(var i in arr){  
    8. <span style="white-space:pre">  </span>alert(map.get(i));  
    9. }  

原创粉丝点击