转自:http://blog.csdn.net/BearRui/article/details/3297178

因JavaScript中允许任意对象作为下标,使的Object可以有任意的key做为属性。 

下面的列子中展示如何在JS中很方便的使用哈希表


  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <HTML>
  3.  <HEAD>
  4.   <TITLE> New Document </TITLE>
  5.   <script type="text/javascript">
  6.   <!--
  7.     var hashTable = new Object();   // 声明对象
  8.     // 添加
  9.     function add(key,value){
  10.        // 判断key是否存在
  11.        if(key in hashTable){
  12.             alert("key已经存在");
  13.        }
  14.        hashTable[key] = value;
  15.     }
  16.     //删除
  17.     function del(key){
  18.         delete(hashTable[key]);
  19.         alert("删除成功");
  20.     }
  21.     // 取值
  22.     function getValue(key){
  23.         alert(hashTable[key]);
  24.     }
  25.     // 循环所有值
  26.     function getAll(){
  27.         for(var k in hashTable){
  28.             document.write(k+":" +hashTable[k] + "<br />");
  29.         }
  30.     }
  31.     function $v(id){
  32.         return document.getElementById(id).value;
  33.     }
  34.   //-->
  35.   </script>
  36.  </HEAD>

  37.  <BODY>
  38.     <div>
  39.         Key:<input type="text" id="k" /><br />
  40.         Value:<input type="text" id="v" /><br />
  41.     </div>
  42.     <input type="button" value="add" onclick="add($v('k'),$v('v'));" />
  43.     <input type="button" value="delete" onclick="del($v('k'));" />
  44.     <input type="button" value="get" onclick="getValue($v('k'));" />
  45.     <input type="button" value="getAll" onclick="getAll();" />
  46.  </BODY>
  47. </HTML>



本文转载:CSDN博客