/**
* js 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();
}
}
如何使用js实现哈希表
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1.当代种种事件不同于历史之处,在于我们不知道它们会产生什么后果。 2.经验和利益的偶然结合,往往会向人们揭示...
- 关于哈希表的原理详见我的上一篇文章简单易懂数据结构之哈希表 前言 JavaScript中是有哈希类型的数据结构的,...
- 哈希表(散列表)查找定义 想象一个场景,如果想在一个学校中找出一个叫王五的学生,一般思路是去学生处把全校的学生名单...
- 小时候在家附近的小店里买东西的时候,有一类售货员看到商品的一瞬间基本上就能算出我一共要付多少钱,用时间复杂度来说,...