温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Javascript如何实现一个伪哈希表

发布时间:2022-05-06 15:43:07 来源:亿速云 阅读:86 作者:zzz 栏目:大数据

本篇内容主要讲解“Javascript如何实现一个伪哈希表”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Javascript如何实现一个伪哈希表”吧!

javascript中实现哈希表的代码:

1 function Hashtable() 
2 {
3   this._hash = {};
4   this._count = 0;
5   this.add = function(key, value) 
6   {
7       if (this._hash.hasOwnProperty(key)) return false;
8       else { this._hash[key] = value; this._count++; return true; }
9   }
10   this.remove = function(key) { delete this._hash[key]; this._count--; }
11   this.count = function() { return this._count; }
12   this.items = function(key) { if (this.contains(key)) return this._hash[key]; }
13   this.contains = function(key) { return this._hash.hasOwnProperty(key); }
14   this.clear = function() { this._hash = {}; this._count = 0; }
15 }

实现起来很简单,我们在function中定义了一个_hash对象,该对象有一个属性key,我们可以给这个属性赋值,hasOwnProperty方法是javascript提供的方法,用于返回指定的对象中是否包含某个属性。同时我们在该function中还定义了一个_count对象,用于记录Hashtable中的数据个数,因为我们不想每次获取Hashtable中的数据个数时都要通过一个内置的循环来计数,这样开销就会小一些,前面说了,哈希算法的一个基本特性就是效率高。delete语句在javascript中用于销毁一个对象。

下面是使用该Hashtable的一些例子:

1 var hashCompany = new Hashtable();
2
3 //向Hashtable中添加键值对
4 function FillData(arr) {
5     hashCompany.clear();
6
7     for (var i = 0; i ﹤ arr.length - 1; i++) {
8         if (arr[i] != "") {
9             t = arr[i].split("`");
10             if (t.length ﹥ 2) {
11                 if (!hashCompany.contains(t[0].trim())) {
12                     hashCompany.add(t[0].trim(), t[1]);
13                 }
14             }
15         }
16     }
17 }
18
19 //遍历Hashtable并取出值
20 function GetDataFromHash() {
21     var s;
22     if (hashCompany.count ﹥ 0) {
23         for (var i in hashCompany._hash) {
24             s += i + "|";
25         }
26     }
27
28     if (s.length ﹥ 0) {
29         s = s.substring(0, s.length - 2);
30     }
31
32     return s;
33 }

代码比较简单,这里就不再多加说明了,其中用到了一个trim函数,下面补上。

//采用正则表达式去除字符串两端的空格,匿名函数用于扩展String对象的方法
String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }

到此,相信大家对“Javascript如何实现一个伪哈希表”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI