function ok(){ debugger try{ var obj = new ActiveXObject("Scripting.Dictionary");//创建对象 obj.Add("hello",null);//增加新项 obj.Item("hello")="Chiweiyao";//给新增添的项赋值 obj.Add("world",null); obj.Item("world")="Greate"; //获取值
alert( obj.item("world")); var keys=obj.Keys().toArray();//将obj对象的键值转换成数组 for(var i = 0;i<keys.length;i++){ if(obj.Exists(keys[i])){//判断对象集合中是否存在指定键值的项 obj.Item(keys[i])=null; obj.Remove(keys[i]);//删除指定键值项 } } } catch(e) { alert(e.message); } }
把学习一种技术一直坚持下去。
Dictionary 对象
存储数据键和项目对的对象。
y = new ActiveXObject("Scripting.Dictionary")
说明
Dictionary 对象等价于 PERL 联合数组。项目可以是数据的任何形式,并存储在数组中。每个项目都与一个具有唯一性的键相联。该键用于取得单个项目,并且通常是整数或字符串,但也可以是除数组以外的任何类型。
增加
- var dic = new ActiveXObject("Scripting.Dictionary");
- // 增加
- dic.add ("a", "aaaaaa");
是否存在
- if (dic.Exists("a"))
- alert("true");
- else
- alert("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) { //遍历该 dictionary
- str += arr[i] + "-";
- }
- alert(str);
遍历对象的Key,然后获得内容条目
- arr = (new VBArray(dic.Keys())).toArray(); // 获得主键
- str = "";
- for (var i in arr) { //遍历 dictionary
- str += arr[i] + "-" + dic(arr[i]) + " | ";
- }
- alert(str);
获得对象的条目数
- var a = (new VBArray(dic.Keys())); // 获取主键
- var s = "";
- for (i = 0; i < dic.Count; i++) { //遍历 dictionary
- s += a.getItem(i) + "-" + dic(a.getItem(i)) + " | ";
- }
- alert(s);
想Map一样,Key和Value,使用JS内部的对象
以上是在火狐上运行的结果,也就是说这个对象是IE的对象,不属于标准之中,所以使用时注意点吧!