javascript自定义HaskTable类
/**
* 自定义HaskTable类
* 调用方式:var hashTable = new Hashtable();hashTable.add(key,value);
*/
var Hashtable = function(){
this._hash = new Object();
/**将key,value键值对存入hashTable*/
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;
}
}
/**从hashTable中移除指定key值的对象*/
this.remove = function(key){
delete this._hash[key];
}
/**统计hashTable中对象的个数*/
this.count = function(){
var i=0;
for(var k in this._hash){
i++;
}
return i;
}
/**根据键值获取指定的key值的对象*/
this.items = function(key){
return this._hash[key];
}
/**判断hashTable中是否已经包含指定键值*/
this.contains = function(key){
return typeof(this._hash[key])!="undefined";
}
/**删除hashTable中所有对象*/
this.clear = function(){
for(var k in this._hash){
delete this._hash[k];
}
}
/**将HashTable转换成数组*/
this.toArray = function(){
var array = new Array();
for(var k in this._hash){
array.push(this._hash[k]);
}
return array;
}
/**将HashTable中的key值转换成数组*/
this.keyToArray = function(){
var array = new Array();
for(var k in this._hash){
array.push(k);
}
return array;
}
} ;