时间:2021-05-26
一、javascript哈希表简介
javascript里面是没有哈希表的,一直在java,C#中有时候用到了这一种数据结构,javascript里面若没有,感觉非常不顺手。细细看来,其实javascript的object的属性其实与哈希表非常类似。
如:
var person = {};person["name"] = "关羽";我们只需要在其基础上再封装一些HashTable的函数,就能够得到一个精简版的哈希表。
加入函数如下:
函数名 说明 返回值 add(key,value) 添加项 无 getValue(key) 根据key取值 object remove(key) 根据key删除一项 无 containsKey(key) 是否包含某个key bool containsValue(value) 是否包含某个值 bool getValues() 获取所有的值的数组 array getKeys() 获取所有的key的数组 array getSize() 获取项总数 int clear() 清空哈希表 无二、代码实现
其具体的实现可以查看代码,都不算很复杂的东西。
function HashTable() { var size = 0; var entry = new Object(); this.add = function (key, value) { if (!this.containsKey(key)) { size++; } entry[key] = value; } this.getValue = function (key) { return this.containsKey(key) ? entry[key] : null; } this.remove = function (key) { if (this.containsKey(key) && (delete entry[key])) { size--; } } this.containsKey = function (key) { return (key in entry); } this.containsValue = function (value) { for (var prop in entry) { if (entry[prop] == value) { return true; } } return false; } this.getValues = function () { var values = new Array(); for (var prop in entry) { values.push(entry[prop]); } return values; } this.getKeys = function () { var keys = new Array(); for (var prop in entry) { keys.push(prop); } return keys; } this.getSize = function () { return size; } this.clear = function () { size = 0; entry = new Object(); }}简单使用示例:
var manHT = new HashTable();manHT.add("p1","刘备");manHT.add("p2","关羽");$("#div1").text(manHT.getValue("p1"));以上是本文的全部内容,希望对大家有所帮助!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C#中哈希表(HashTable)用法。分享给大家供大家参考,具体如下:1.哈希表(HashTable)简述在.NETFramework中,Has
本文实例讲述了C#使用foreach遍历哈希表(hashtable)的方法。分享给大家供大家参考。具体实现方法如下:usingSystem;usingSyste
hashtable底层结构是数组加链表加红黑树(JDK1.8增加了红黑树部分)。 hashtable类实现一个哈希表,该哈希表将键映射到相应的值。任何非nul
Hashtable类Hashtable继承Map接口,实现一个key-value映射的哈希表。任何非空(non-null)的对象都可作为key或者value。添
1.哈希表(HashTable)简述在.NETFramework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表