天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

javascript hashtable實現代碼

復制代碼 代碼如下:
var arr = new Array();
arr['item1'] = 'the value of item 1 ';
arr['item2'] = 'the value of item 2 ';
alert(arr['item1']);
alert(arr['item2']);

但上述功能,不符我們的實際要求,另外查詢遍歷也不方便,我們需要在Array的基礎上進行擴展,
下面我們可以用js中的數組來實現類似的hashtable的功能,
復制代碼 代碼如下:
function Hashtable(){
this.clear = hashtable_clear;
this.containsKey = hashtable_containsKey;
this.containsValue = hashtable_containsValue;
this.get = hashtable_get;
this.isEmpty = hashtable_isEmpty;
this.keys = hashtable_keys;
this.put = hashtable_put;
this.remove = hashtable_remove;
this.size = hashtable_size;
this.toString = hashtable_toString;
this.values = hashtable_values;
this.hashtable = new Array();
}
function hashtable_clear(){
this.hashtable = new Array();
}
function hashtable_containsKey(key){
var exists = false;
for (var i in this.hashtable) {
if (i == key && this.hashtable[i] != null) {
exists = true;
break;
}
}
return exists;
}
function hashtable_containsValue(value){
var contains = false;
if (value != null) {
for (var i in this.hashtable) {
if (this.hashtable[i] == value) {
contains = true;
break;
}
}
}
return contains;
}
function hashtable_get(key){
return this.hashtable[key];
}
function hashtable_isEmpty(){
return (this.size == 0) ? true : false;
}
function hashtable_keys(){
var keys = new Array();
for (var i in this.hashtable) {
if (this.hashtable[i] != null)
keys.push(i);
}
return keys;
}
function hashtable_put(key, value){
if (key == null || value == null) {
throw 'NullPointerException {' + key + '},{' + value + '}';
}else{
this.hashtable[key] = value;
}
}
function hashtable_remove(key){
var rtn = this.hashtable[key];
//this.hashtable[key] =null;
this.hashtable.splice(key,1);
return rtn;
}
function hashtable_size(){
var size = 0;
for (var i in this.hashtable) {
if (this.hashtable[i] != null)
size ++;
}
return size;
}
function hashtable_toString(){
var result = '';
for (var i in this.hashtable)
{
if (this.hashtable[i] != null)
result += '{' + i + '},{' + this.hashtable[i] + '}/n';
}
return result;
}
function hashtable_values(){
var values = new Array();
for (var i in this.hashtable) {
if (this.hashtable[i] != null)
values.push(this.hashtable[i]);
}
return values;
}

Hastable類使用方法:
復制代碼 代碼如下:
//實例化一個自定義的哈希表類
var hashTable = new Hashtable();
hashTable.put(0,'abc'); //0為key, 'abc'為value
hashTable.put(1,'123');
hashTable.put(2,'88a');
hashTable.put(3,'88a');
//遍歷hashtable, 相當于c#和Java中的foreach
for (var key in hashTable.keys()){ /* 用keys方法 */
alert(hashTable.get(key)); //按key遍歷value
}
//遍歷hashtable, 相當于c#和Java中的foreach
for (var key in hashTable.hashtable)){ /* 用hashtable屬性 */
alert(hashTable.get(key)); //按key遍歷value
}
alert(hashTable.containsKey(1)); //返回true
alert(hashTable.containsKey(4)); //因為不存在key為4的,返回false
alert(hashTable.containsValue('888')); //返回true
alert(hashTable.containsValue('mobidogs')); //因為不存在value為'mobidogs'的,返回false
hashTable.remove(1); //移除key為1的元素
alert(hashTable.containsKey(1)); //因為key為1的元素已被上行的reomve()方法移除,所以返回false
//關于hastable的其它方法使用簡單,讀者可以自己測試 (此略)

JavaScript技術javascript hashtable實現代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 啦啦啦影院视频在线看高清... | ppypp日本欧美一区二区 | 奇米狠狠一区二区三区 | 欧美国产一区二区三区激情无套 | 善良的小峓子2在钱免费中文字 | 色 花 堂 永久 网站 | 国产成人免费全部网站 | 最新国自产拍 高清完整版 最新国产在线视频在线 | 日韩在线av免费视久久 | 色午夜日本高清视频www | 亚洲精品国偷拍自产在线观看蜜臀 | 伊人网伊人网 | 狠狠色丁香婷婷久久综合 | 99热在线免费播放 | 亚洲蜜桃AV永久无码精品放毛片 | 真实的强视频免费网站 | 免费人成在线观看视频不卡 | 伦理片qvod| 日本国产成人精品无码区在线网站 | 牛牛自拍国产免费视频 | 爽死你个放荡粗暴小淫货漫画 | 免费无码又爽又黄又刺激网站 | 无码AV动漫精品一区二区免费 | 69夫妻交友网 | 国产精品久久久久久亚洲毛片 | 精品国产99久久久久久麻豆 | 免费精品美女久久久久久久久久 | 99久久综合国产精品免费 | 好紧好湿太硬了我太爽了文字 | 亚洲一区免费观看 | 同桌别揉我奶了嗯啊 | 麻豆精品人妻一区二区三区蜜桃 | 午夜无码片在线观看影院 | 女教师二十三岁 | 亚洲中文字幕乱码熟女在线 | 猫咪av永久最新域名 | 亚洲黄色录像片 | 国产精品人妻无码久久久奥特曼 | 国精产品一区二区三区四区糖心 | 日日色在线影院 | 2018三级网站免费观看 |