首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2012-11-23 
JS 中存储数据的对象 Dictionary ,回复JS中Map对象模拟之前写了一个 JS 自定义对象实现Java中的Map对象功

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

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

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

?

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

?

Dictionary 对象

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

y = new ActiveXObject("Scripting.Dictionary")

说明

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

?

增加

?

var dic = new ActiveXObject("Scripting.Dictionary");// 增加dic.add ("a", "aaaaaa");

?

是否存在

?

if (dic.Exists("a"))alert("true");elsealert("false");

?

获得某值

?

alert(dic.Item("a"));

?

修改值

?

dic.Item("a") = "dddddd";alert(dic.Item("a"));

?

修改主键

?

dic.Key("a") = "d";alert(dic.Item("d"));

?

删除某值

?

dic.Remove("a");

?

删除所有的值

?

dic.RemoveAll();

?

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

?

var arr = (new VBArray(dic.Items())).toArray();   //获取条目var str = "";for (var i in arr) { //遍历该 dictionarystr += arr[i] + "-";}alert(str);

?

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

?

arr = (new VBArray(dic.Keys())).toArray();  // 获得主键str = "";for (var i in arr) { //遍历 dictionarystr += arr[i] + "-" + dic(arr[i]) + " | ";}alert(str);

?

获得对象的条目数

var a = (new VBArray(dic.Keys()));    // 获取主键var s = "";for (i = 0; i < dic.Count; i++) { //遍历 dictionarys += a.getItem(i) + "-" + dic(a.getItem(i)) + " | ";}alert(s);

?

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

?

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

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

?

?最后:

由于近期大量小网站在未经同意情况下使用文章,现将我的博客地址公布如下,请您到ITEYE网站看原创,谢谢!

http://cuisuqiang.iteye.com/?!

1 楼 lionfox 2012-06-26   貌似除非有其他途径,否则不建议使用 ActiveXObject的,因为这个好像要调整IE的设置,且只能在IE上跑 2 楼 lionfox 2012-06-26   打错了,是除非没有其他途径 3 楼 zhukewen_java 2012-06-26   只能在ie上跑的没有任何意义。 4 楼 cuisuqiang 2012-06-26   zhukewen_java 写道只能在ie上跑的没有任何意义。
全当学习吧 5 楼 lshhjxlj 2012-07-18   JS代码就不要说是java代码,好吗? 6 楼 cuisuqiang 2012-07-18   lshhjxlj 写道JS代码就不要说是java代码,好吗?
我有点懒,不好意思了

热点排行