查看了网上的几个map类,有些压根几不能取值,在这些基础上发一个可以完全实现map类方法。
并且在测试的时候用到了用split来分隔字符串。
- <html>
- <script language="javascript"><!--
- function Map() {
- var struct = function(key, value) {
- this.key = key;
- this.value = value; }
- var put = function(key, value){
- for (var i = 0; i < this.arr.length; i++) {
- if ( this.arr[i].key === key ) {
- this.arr[i].value = value;
- return; }
- }
- this.arr[this.arr.length] = new struct(key, value);
- }
- var get = function(key) {
- for (var i = 0; i < this.arr.length; i++) {
- if ( this.arr[i].key === key ) {
- return this.arr[i].value; }
- }
- return null;
- }
- var remove = function(key) {
- var v;
- for (var i = 0; i < this.arr.length; i++) {
- v = this.arr.pop();
- if ( v.key === key ) {
- continue;
- }
- this.arr.unshift(v);
- }
- }
- var size = function() {
- return this.arr.length;
- }
- var isEmpty = function() {
- return this.arr.length <= 0;
- }
- this.arr = new Array();
- this.get = get;
- this.put = put;
- this.remove = remove;
- this.size = size;
- this.isEmpty = isEmpty;
- }
- function test(){
- if("1"==1)
- alert("相等的");
- else
- alert("bu相等的");
- }
- function a(test,xx){
- var map = new Map();
- var temp = new Array();
- var temp1 = new Array();
- var s = "";
- temp = test.split("#");
- for(var i=0;i<temp.length-1;i++){
- s = temp[i];
- temp1 = s.split(",");
- for(var j=0;j<temp1.length-1;j++)
- map.put(temp1[0],temp1[1]);
- }
- return map.get(xx+"");
- }
- function test1(){
- var test=var test=“#111101,djdkasj#111102,jdsajgkj”;
- xx = 111110
- alert(a(test,xx));
- }
- </script>
- <head><title>test Map</title></head>
- <body>
- <input type="button" onclick="test1();" value="来试试">
- </body>
- </html>