首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

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”方法实现。要了解哈希表的构造,请参考相关资料。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论