`

JS 构建MAP

阅读更多

查看了网上的几个map类,有些压根几不能取值,在这些基础上发一个可以完全实现map类方法。

并且在测试的时候用到了用split来分隔字符串。

 

 

[xhtml] view plaincopy
 
  1. <html>  
  2.     <script language="javascript"><!--  
  3.         function Map() {    
  4.             var struct = function(key, value) {    
  5.                 this.key = key;    
  6.                 this.value = value;  }       
  7.             var put = function(key, value){    
  8.                 for (var i = 0; i < this.arr.length; i++) {    
  9.                     if ( this.arr[i].key === key ) {    
  10.                         this.arr[i].value = value;    
  11.                         return;  }    
  12.                 }    
  13.                 this.arr[this.arr.length] = new struct(key, value);    
  14.             }    
  15.      
  16.             var get = function(key) {    
  17.                 for (var i = 0; i < this.arr.length; i++) {    
  18.                     if ( this.arr[i].key === key ) {    
  19.                         return this.arr[i].value;  }    
  20.                 }    
  21.                 return null;    
  22.             }    
  23.      
  24.             var remove = function(key) {    
  25.                 var v;    
  26.                 for (var i = 0; i < this.arr.length; i++) {    
  27.                     v = this.arr.pop();    
  28.                     if ( v.key === key ) {    
  29.                         continue;    
  30.                     }    
  31.                     this.arr.unshift(v);    
  32.                 }    
  33.             }    
  34.      
  35.             var size = function() {    
  36.                 return this.arr.length;    
  37.             }    
  38.      
  39.             var isEmpty = function() {    
  40.                 return this.arr.length <= 0;    
  41.             }     
  42.             this.arr = new Array();    
  43.             this.get = get;    
  44.             this.put = put;    
  45.             this.remove = remove;    
  46.             this.size = size;    
  47.             this.isEmpty = isEmpty;    
  48.         }   
  49.         function test(){  
  50.             if("1"==1)  
  51.                 alert("相等的");  
  52.             else  
  53.                 alert("bu相等的");  
  54.         }  
  55.                               
  56.         function a(test,xx){  
  57.             var map = new Map();  
  58.             var temp = new Array();   
  59.             var temp1 = new Array();   
  60.             var s  = "";   
  61.             temp = test.split("#");  
  62.                                   
  63.             for(var i=0;i<temp.length-1;i++){  
  64.                 s = temp[i];                 
  65.                 temp1 = s.split(",");     
  66.                 for(var j=0;j<temp1.length-1;j++)      
  67.                     map.put(temp1[0],temp1[1]);                                                                                                                               
  68.             }  
  69.             return map.get(xx+"");                                
  70.         }  
  71.         function test1(){  
  72.             var test=var test=“#111101,djdkasj#111102,jdsajgkj”;  
  73.              xx = 111110  
  74.             alert(a(test,xx));  
  75.         }  
  76.       
  77. </script>  
  78.     <head><title>test Map</title></head>  
  79.     <body>  
  80.         <input type="button" onclick="test1();" value="来试试">  
  81.           
  82.     </body>  
  83. </html>  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics