22.16 JavaScript制作哈希表
【实例描述】
在保存数据时,使用哈希表可以存储不同数据类型的值。本例通过JavaScript创建一个哈希表,学习如何保存数据字典(键/值对)。
【实现代码】
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>标题页</title>
<SCRIPT LANGUAGE="JavaScript">
//自定义哈希表类
function Hashtable()
{
this._hash = new Object(); // 创建Object对象
//哈希表的添加方法
this.add = function(key,value){
if(typeof(key)!="undefined"){
if(this.contains(key)==false){
this._hash[key]=typeof(value)=="undefined"?null:value;
return true;
} else {
return false;
}
} else {
return false;
}
}
//哈希表的移除方法
this.remove = function(key){delete this._hash[key];}
//哈希表内部键的数量
this.count = function(){var i=0;for(var k in this._hash){i++;} return i;}
//通过键值获取哈希表的值
this.items = function(key){return this._hash[key];}
//在哈希表中判断某个值是否存在
this.contains = function(key){ return typeof(this._hash[key])!= "undefined";}
//清空哈希表内容的方法
this.clear = function(){for(var k in this._hash){delete this._hash[k];}}
}
var myhash=new Hashtable(); //创建哈希表
myhash.add("name","张三"); //添加键和值
if(myhash.contains("name")) //判断是否存在name键
alert(myhash.items("name")); //根据指定name键显示哈希表的值
</script>
</head>
<body>
</body>
</html>
【难点剖析】
本例的重点是如何创建哈希表的默认方法,如增加键∕值对、移除键∕值对、查询键∕值等。这些都通过“function”方法实现。要了解哈希表的构造,请参考相关资料。






