JS封装类似JAVA中的MAP

  1. function JS_OBJECT_MAP(){  
  2.     this.js_object_map = new Array();  
  3.     // 获取MAP元素大小  
  4.     this.size = function(){  
  5.         return this.js_object_map.length;  
  6.     }  
  7.     // 判断MAP是不是空,返回true:空/false:不空  
  8.     this.isEmpty = function(){  
  9.         return (this.js_object_map.length < 1);  
  10.     }  
  11.     // 清空MAP  
  12.     this.clear = function(){  
  13.         this.js_object_map = new Array();  
  14.     }  
  15.     // 给MAP中放值(key,value)  
  16.     this.put = function(_key,_value){  
  17.         this.js_object_map.push({  
  18.             key:_key,  
  19.             value:_value  
  20.         });  
  21.     }  
  22.     // 删除指定KEY的元素,成功返回True,失败返回False  
  23.     this.remove = function(_key){  
  24.         var bln = false;  
  25.         try {  
  26.             for (i = 0; i < this.js_object_map.length; i++) {  
  27.                 if (this.js_object_map[i].key == _key) {  
  28.                     this.js_object_map.splice(i, 1);  
  29.                     return true;  
  30.                 }  
  31.             }  
  32.         } catch (e) {  
  33.             bln = false;  
  34.         }  
  35.         return bln;  
  36.     }  
  37.     // 获取指定KEY的元素值VALUE,失败返回NULL  
  38.     this.get = function(_key){  
  39.         try {  
  40.             var result = null;  
  41.             for (i = 0; i < this.js_object_map.length; i++) {  
  42.                 if (this.js_object_map[i].key == _key) {  
  43.                     result = this.js_object_map[i].value;  
  44.                 }  
  45.             }  
  46.             return result;  
  47.         } catch(e) {  
  48.             return null;  
  49.         }  
  50.     }  
  51.     // 设置MAP中指定KEY元素的值VALUE, 失败返回NULL  
  52.     this.set = function(_key, _value){  
  53.         try{  
  54.             this.remove(_key);  
  55.             this.put(_key,_value);  
  56.         }catch(e){  
  57.             return null;  
  58.         }  
  59.     }  
  60.     // 获取制定索引的元素  
  61.     this.getByIndex = function(_index){  
  62.         if (_index < 0 || _index >= this.js_object_map.length) {  
  63.             return null;  
  64.         }  
  65.         return this.js_object_map[_index];  
  66.     }  
  67.     // 判断MAP中是否含有指定KEY的元素  
  68.     this.containsKey = function(_key){  
  69.         var bln = false;  
  70.         try {  
  71.             for (i = 0; i < this.js_object_map.length; i++) {  
  72.                 if (this.js_object_map[i].key == _key) {  
  73.                     bln = true;  
  74.                 }  
  75.             }  
  76.         } catch (e) {  
  77.             bln = false;  
  78.         }  
  79.         return bln;  
  80.     }  
  81.     // 判断MAP中是否含有指定VALUE的元素  
  82.     this.containsValue = function(_value){  
  83.         var bln = false;  
  84.         try {  
  85.             for (i = 0; i < this.js_object_map.length; i++) {  
  86.                 if (this.js_object_map[i].value == _value) {  
  87.                     bln = true;  
  88.                 }  
  89.             }  
  90.         } catch (e) {  
  91.             bln = false;  
  92.         }  
  93.         return bln;  
  94.     }  
  95.     // 获取MAP中所有VALUE的数组  
  96.     this.values = function(){  
  97.         var arr = new Array();  
  98.         for (i = 0; i < this.js_object_map.length; i++) {  
  99.             arr.push(this.js_object_map[i].value);  
  100.         }  
  101.         return arr;  
  102.     }  
  103.     // 获取MAP中所有KEY的数组  
  104.     this.keys = function(){  
  105.         var arr = new Array();  
  106.         for (i = 0; i < this.js_object_map.length; i++) {  
  107.             arr.push(this.js_object_map[i].key);  
  108.         }  
  109.         return arr;  
  110.     }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值