`
cuisuqiang
  • 浏览: 3959095 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3669137
社区版块
存档分类
最新评论

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

    博客分类:
  • JS
 
阅读更多

之前写了一个 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");
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的对象,不属于标准之中,所以使用时注意点吧!

 

请您到ITEYE看我的原创:http://cuisuqiang.iteye.com

或支持我的个人博客,地址:http://www.javacui.com

 

1
2
分享到:
评论
6 楼 cuisuqiang 2012-07-18  
lshhjxlj 写道
JS代码就不要说是java代码,好吗?

我有点懒,不好意思了
5 楼 lshhjxlj 2012-07-18  
JS代码就不要说是java代码,好吗?
4 楼 cuisuqiang 2012-06-26  
zhukewen_java 写道
只能在ie上跑的没有任何意义。

全当学习吧
3 楼 zhukewen_java 2012-06-26  
只能在ie上跑的没有任何意义。
2 楼 lionfox 2012-06-26  
打错了,是除非没有其他途径
1 楼 lionfox 2012-06-26  
貌似除非有其他途径,否则不建议使用 ActiveXObject的,因为这个好像要调整IE的设置,且只能在IE上跑

相关推荐

    JS数据结构与算法1

    JavaScript中的Map对象实现了这一概念,提供高效的查找和操作。 8. **二叉树(Binary Tree)**:每个节点最多有两个子节点的树结构。二叉搜索树(BST)是一种特殊的二叉树,其中左子节点的值小于父节点,右子节点的...

    js-data-structures:JavaScript的数据结构

    JavaScript 中的对象(Object)本质上就是哈希表,用于快速查找和存储数据。 6. **堆(Heap)**:一种特殊的树形数据结构,满足堆性质(最大堆或最小堆)。JavaScript 中的堆常用于优先队列和优化算法,如 Dijkstra...

    data-structures:JavaScript数据结构的集合

    数据结构在计算机科学中扮演着核心角色,尤其是在编程语言如JavaScript和Node.js中。这个名为"data-structures:JavaScript数据结构的集合"的项目提供了一系列JavaScript实现的数据结构,这对于理解和优化代码性能至...

    dictionary

    2. **对象和字典结构**:在JavaScript中,对象可以用来模拟字典的数据结构,通过键值对(key-value pairs)存储和检索信息。例如,`let dictionary = {word1: 'definition1', word2: 'definition2'}`,这里的键是...

    DataStructures-JS:estudos,exemplos,达科斯州立大学

    在这个名为"DataStructures-JS:estudos,exemplos,达科斯州立大学"的项目中,我们可以预见到深入学习JavaScript中的数据结构以及相关的实践示例。 首先,我们要讨论的是JavaScript中的基本数据结构。这些包括数组...

    数据结构

    JavaScript的Map数据结构提供了键值对的存储,它允许使用任何类型作为键,包括对象。 以上就是JavaScript中常见的数据结构及其应用。`DataStruct-master`可能包含这些数据结构的实现示例、练习和测试,学习这些内容...

    前端项目-buckets.zip

    5. 字典(Dictionary/Map):键值对的存储结构,允许通过键来快速查找和修改值。 6. 图(Graph):用于表示节点和边的关系,广泛应用于网络拓扑、路径查找等领域。 7. 树(Tree):如二叉树、红黑树等,是数据组织...

    data-structures

    JavaScript的Map对象提供了键值对的存储。 8. **树(Tree)**:树是一种分层的数据结构,每个节点可以有零个或多个子节点。常见的树结构有二叉树、二叉搜索树、AVL树、红黑树等。在JavaScript中,需要自定义结构来...

    data-structures:我对各种数据结构的个人实现

    在JavaScript中,可以通过对象或Map实现字典功能。 10. 堆(Heap):堆是一种特殊的树形数据结构,满足堆属性(最大堆或最小堆),常用作优先队列。堆排序算法就是基于堆的性质实现的。 以上数据结构在实际编程中...

    data-structures-reference

    在JavaScript中,可以通过Array、Object、Set、Map等原生数据结构实现这些抽象概念,也可以使用第三方库如lodash或ds-js来获得更强大的数据结构支持。 "dat-structures-reference-main"可能是包含这些数据结构实现...

    售货机问题

    这可能是一个字典(dictionary)或映射(map),其中键是商品ID,值包含价格和库存信息。 2. **用户输入处理**:程序需要接收用户的输入,即投入的钱数和选择的商品。这涉及到输入验证,确保钱数是正整数且在合理的...

Global site tag (gtag.js) - Google Analytics