JS 中存储数据的对象 Dictionary ,回复JS中Map对象模拟

之前写了一个 JS 自定义对象实现Java中的Map对象功能 ,但是遭到许多人的指责,大家都说JS中已经有相关的实现。

当然,我非常感谢大家的批评,但是由于本人JS功底并不是特别好,所以可能绕弯走了远路,大家就当学习吧!

 

我查询了JS的API,发现了有Dictionary这个对象,那么我把这个对的相关属性和方法都看了一遍,做个例子大家看看,也是我的学习吧!

 

Dictionary 对象

存储数据键和项目对的对象。

y = new ActiveXObject("Scripting.Dictionary")

说明

Dictionary 对象等价于 PERL 联合数组。项目可以是数据的任何形式,并存储在数组中。每个项目都与一个具有唯一性的键相联。该键用于取得单个项目,并且通常是整数或字符串,但也可以是除数组以外的任何类型。

 

增加

 

Java代码    收藏代码
  1. var dic = new ActiveXObject("Scripting.Dictionary");  
  2. // 增加  
  3. dic.add ("a""aaaaaa");  

 

是否存在

 

Java代码    收藏代码
  1. if (dic.Exists("a"))  
  2.     alert("true");  
  3. else  
  4.     alert("false");  

 

获得某值

 

Java代码    收藏代码
  1. alert(dic.Item("a"));  

 

修改值

 

Java代码    收藏代码
  1. dic.Item("a") = "dddddd";  
  2. alert(dic.Item("a"));  

 

修改主键

 

Java代码    收藏代码
  1. dic.Key("a") = "d";  
  2. alert(dic.Item("d"));  

 

删除某值

 

Java代码    收藏代码
  1. dic.Remove("a");  

 

删除所有的值

 

Java代码    收藏代码
  1. dic.RemoveAll();  

 

根据条目遍历对象的值内容

 

Java代码    收藏代码
  1. var arr = (new VBArray(dic.Items())).toArray();   //获取条目  
  2. var str = "";  
  3. for (var i in arr) { //遍历该 dictionary  
  4.     str += arr[i] + "-";  
  5. }  
  6. alert(str);  

 

遍历对象的Key,然后获得内容条目

 

Java代码    收藏代码
  1. arr = (new VBArray(dic.Keys())).toArray();  // 获得主键  
  2. str = "";  
  3. for (var i in arr) { //遍历 dictionary  
  4.     str += arr[i] + "-" + dic(arr[i]) + " | ";  
  5. }  
  6. alert(str);  

 

获得对象的条目数

Java代码    收藏代码
  1. var a = (new VBArray(dic.Keys()));    // 获取主键  
  2. var s = "";  
  3. for (i = 0; i < dic.Count; i++) { //遍历 dictionary  
  4.     s += a.getItem(i) + "-" + dic(a.getItem(i)) + " | ";  
  5. }  
  6. alert(s);  

 

想Map一样,Key和Value,使用JS内部的对象

 

以上是在火狐上运行的结果,也就是说这个对象是IE的对象,不属于标准之中,所以使用时注意点吧!

<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值