JS 中存储数据的对象 Dictionary ,回复JS中Map对象模拟
2012-07-05 21:24
309 查看
之前写了一个 JS 自定义对象实现Java中的Map对象功能 ,但是遭到许多人的指责,大家都说JS中已经有相关的实现。当然,我非常感谢大家的批评,但是由于本人JS功底并不是特别好,所以可能绕弯走了远路,大家就当学习吧! 我查询了JS的API,发现了有Dictionary这个对象,那么我把这个对的相关属性和方法都看了一遍,做个例子大家看看,也是我的学习吧!
![](http://cuisuqiang.iteye.com/images/icon_star.png)
var dic = new ActiveXObject("Scripting.Dictionary");
// 增加
dic.add ("a", "aaaaaa");
是否存在 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
if (dic.Exists("a"))
alert("true");
else
alert("false");
获得某值 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
alert(dic.Item("a"));
修改值 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
dic.Item("a") = "dddddd";
alert(dic.Item("a"));
修改主键 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
dic.Key("a") = "d";
alert(dic.Item("d"));
删除某值 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
dic.Remove("a");
删除所有的值 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
dic.RemoveAll();
根据条目遍历对象的值内容 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
var arr = (new VBArray(dic.Items())).toArray(); //获取条目
var str = "";
for (var i in arr) { //遍历该 dictionary
str += arr[i] + "-";
}
alert(str);
遍历对象的Key,然后获得内容条目 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
arr = (new VBArray(dic.Keys())).toArray(); // 获得主键
str = "";
for (var i in arr) { //遍历 dictionary
str += arr[i] + "-" + dic(arr[i]) + " | ";
}
alert(str);
获得对象的条目数Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
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内部的对象
![](http://dl.iteye.com/upload/picture/pic/114778/a17e3497-a75c-3b13-9cc1-9e1bd1e31d8f.jpg)
以上是在火狐上运行的结果,也就是说这个对象是IE的对象,不属于标准之中,所以使用时注意点吧!
Dictionary 对象
存储数据键和项目对的对象。y = new ActiveXObject("Scripting.Dictionary")
说明
Dictionary 对象等价于 PERL 联合数组。项目可以是数据的任何形式,并存储在数组中。每个项目都与一个具有唯一性的键相联。该键用于取得单个项目,并且通常是整数或字符串,但也可以是除数组以外的任何类型。 增加 Java代码![](http://cuisuqiang.iteye.com/images/icon_star.png)
var dic = new ActiveXObject("Scripting.Dictionary");
// 增加
dic.add ("a", "aaaaaa");
是否存在 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
if (dic.Exists("a"))
alert("true");
else
alert("false");
获得某值 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
alert(dic.Item("a"));
修改值 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
dic.Item("a") = "dddddd";
alert(dic.Item("a"));
修改主键 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
dic.Key("a") = "d";
alert(dic.Item("d"));
删除某值 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
dic.Remove("a");
删除所有的值 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
dic.RemoveAll();
根据条目遍历对象的值内容 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
var arr = (new VBArray(dic.Items())).toArray(); //获取条目
var str = "";
for (var i in arr) { //遍历该 dictionary
str += arr[i] + "-";
}
alert(str);
遍历对象的Key,然后获得内容条目 Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
arr = (new VBArray(dic.Keys())).toArray(); // 获得主键
str = "";
for (var i in arr) { //遍历 dictionary
str += arr[i] + "-" + dic(arr[i]) + " | ";
}
alert(str);
获得对象的条目数Java代码
![](http://cuisuqiang.iteye.com/images/icon_star.png)
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内部的对象
![](http://dl.iteye.com/upload/picture/pic/114778/a17e3497-a75c-3b13-9cc1-9e1bd1e31d8f.jpg)
以上是在火狐上运行的结果,也就是说这个对象是IE的对象,不属于标准之中,所以使用时注意点吧!
相关文章推荐
- JS 中存储数据的对象 Dictionary ,回复JS中Map对象模拟
- js 实现存储Map 结构的数据
- c#如何接受js返回ScriptObject对象存储的json数据
- sharedPreference存储对象-数据库存储对象;android 将map保存到sqlite数据库中,从表数据中取回map
- 使用JS模拟出Map对象
- 使用JS模拟出Map对象
- 存储数据键和项目对的类(Dictionary对象)
- 存储数据键和项目对的类(Dictionary对象)
- Android SharedPreferences存储基本数据类型、List集合、Map集合、对象都在这了
- 存储数据键和项目对的类(Dictionary对象)
- js中数据结构数组Array、映射Map、集合Set、对象、JSON
- 存储数据键和项目对的类(Dictionary对象)
- js模拟Map对象,实现key---value
- 将后台数据(C#)转换成JSON字符串传到页面转换成json对象存储在JS中
- 使用JS模拟出Map对象
- Cocos2d-js 本地数据存储封装
- js创建一个MAP对象并存取值
- 好东西!sqlite3中BLOB数据类型存储大对象运用示例
- 将List<Map<String,String>型的数据,变成一个JSON对象。
- js数据类型: 对象,数组,等