散列算法可以尽快在数据结构中找出指定的一个值,因为可以通过Hash算法求出值的所在位置,存储和插入的时候都按照Hash算法放到指定位置。
<script>
function HashTable() {
this.table = [];
}
//loselose散列函数
HashTable.prototype.loseloseHash = function(str){
var hash = 0;
for(var i=0; i<str.length; i++){
hash += str.charCodeAt(i);
}
return hash;
}
//增加/更新 散列表
HashTable.prototype.put = function(key,value){
this.table[this.loseloseHash(key)] = value;
return this.loseloseHash(key);
}
//删除散列表一个值
HashTable.prototype.remove = function(key){
this.table[this.loseloseHash(key)] = undefined;
}
//获取散列表的一个值
HashTable.prototype.get = function(key){
return this.table[this.loseloseHash(key)];
}
var hashtable = new HashTable();
console.log(hashtable.put('Zhangsan','zhangsan@gmail.com')); //826
console.log(hashtable.put('Jay','jay@foxmail.com')); //292
console.log(hashtable.put('Ken','ken@126.com')); //286
console.log(hashtable.get('Jay')); //jay@foxmail.com
hashtable.remove('Jay');
console.log(hashtable.get('Jay')); //undefined
</script>