*JS实现HashTable的例子

本文介绍了一种使用JavaScript实现的简单哈希表数据结构。该哈希表支持添加、删除、查询元素等基本操作,并提供了计数和清空等功能。通过具体代码示例展示了如何初始化哈希表、添加重复键的处理方式以及对元素进行增删查操作。
 1None.gif<script language="javascript" type="text/javascript">
 2None.gif
 3None.giffunction Hashtable()
 4ExpandedBlockStart.gifContractedBlock.gifdot.gif{
 5InBlock.gif    this._hash        = new Object();
 6ExpandedSubBlockStart.gifContractedSubBlock.gif    this.add        = function(key,value)dot.gif{
 7ExpandedSubBlockStart.gifContractedSubBlock.gif                        if(typeof(key)!="undefined")dot.gif{
 8ExpandedSubBlockStart.gifContractedSubBlock.gif                            if(this.contains(key)==false)dot.gif{
 9InBlock.gif                                this._hash[key]=typeof(value)=="undefined"?null:value;
10InBlock.gif                                return true;
11ExpandedSubBlockStart.gifContractedSubBlock.gif                            }
 else dot.gif{
12InBlock.gif                                return false;
13ExpandedSubBlockEnd.gif                            }

14ExpandedSubBlockStart.gifContractedSubBlock.gif                        }
 else dot.gif{
15InBlock.gif                            return false;
16ExpandedSubBlockEnd.gif                        }

17ExpandedSubBlockEnd.gif                    }

18ExpandedSubBlockStart.gifContractedSubBlock.gif    this.remove        = function(key)dot.gif{delete this._hash[key];}
19ExpandedSubBlockStart.gifContractedSubBlock.gif    this.count        = function()dot.gif{var i=0;for(var k in this._hash)dot.gif{i++;} return i;}
20ExpandedSubBlockStart.gifContractedSubBlock.gif    this.items        = function(key)dot.gif{return this._hash[key];}
21ExpandedSubBlockStart.gifContractedSubBlock.gif    this.contains    = function(key)dot.gifreturn typeof(this._hash[key])!="undefined";}
22ExpandedSubBlockStart.gifContractedSubBlock.gif    this.clear        = function()dot.gif{for(var k in this._hash)dot.gif{delete this._hash[k];}}
23InBlock.gif
24ExpandedBlockEnd.gif}

25None.gif
26None.gifvar a = new Hashtable();
27None.gif
28None.gifa.add("aa");
29None.gifa.add("bb",2342);
30None.gifa.add("bb",2342);
31None.gif
32None.gifa.remove("aa");
33None.gif
34None.gifalert(a.count());
35None.gif
36None.gifalert(a.contains("bb"));
37None.gif
38None.gifalert(a.contains("aa"));
39None.gif
40None.gifalert(a.items("bb"));
41None.gif
42None.gif
43None.gif</script>

转载于:https://www.cnblogs.com/dwjaissk/archive/2007/03/08/667986.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值