這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)Javascript中怎么實(shí)現(xiàn)一個(gè)偽哈希表,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),疏附網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:疏附等地區(qū)。疏附做網(wǎng)站價(jià)格咨詢:13518219792
javascript中實(shí)現(xiàn)哈希表的代碼:
1 function Hashtable()
2 {
3 this._hash = {};
4 this._count = 0;
5 this.add = function(key, value)
6 {
7 if (this._hash.hasOwnProperty(key)) return false;
8 else { this._hash[key] = value; this._count++; return true; }
9 }
10 this.remove = function(key) { delete this._hash[key]; this._count--; }
11 this.count = function() { return this._count; }
12 this.items = function(key) { if (this.contains(key)) return this._hash[key]; }
13 this.contains = function(key) { return this._hash.hasOwnProperty(key); }
14 this.clear = function() { this._hash = {}; this._count = 0; }
15 }
實(shí)現(xiàn)起來(lái)很簡(jiǎn)單,我們?cè)趂unction中定義了一個(gè)_hash對(duì)象,該對(duì)象有一個(gè)屬性key,我們可以給這個(gè)屬性賦值,hasOwnProperty方法是javascript提供的方法,用于返回指定的對(duì)象中是否包含某個(gè)屬性。同時(shí)我們?cè)谠揻unction中還定義了一個(gè)_count對(duì)象,用于記錄Hashtable中的數(shù)據(jù)個(gè)數(shù),因?yàn)槲覀儾幌朊看潍@取Hashtable中的數(shù)據(jù)個(gè)數(shù)時(shí)都要通過(guò)一個(gè)內(nèi)置的循環(huán)來(lái)計(jì)數(shù),這樣開(kāi)銷就會(huì)小一些,前面說(shuō)了,哈希算法的一個(gè)基本特性就是效率高。delete語(yǔ)句在javascript中用于銷毀一個(gè)對(duì)象。
下面是使用該Hashtable的一些例子:
1 var hashCompany = new Hashtable();
2
3 //向Hashtable中添加鍵值對(duì)
4 function FillData(arr) {
5 hashCompany.clear();
6
7 for (var i = 0; i ﹤ arr.length - 1; i++) {
8 if (arr[i] != "") {
9 t = arr[i].split("`");
10 if (t.length ﹥ 2) {
11 if (!hashCompany.contains(t[0].trim())) {
12 hashCompany.add(t[0].trim(), t[1]);
13 }
14 }
15 }
16 }
17 }
18
19 //遍歷Hashtable并取出值
20 function GetDataFromHash() {
21 var s;
22 if (hashCompany.count ﹥ 0) {
23 for (var i in hashCompany._hash) {
24 s += i + "|";
25 }
26 }
27
28 if (s.length ﹥ 0) {
29 s = s.substring(0, s.length - 2);
30 }
31
32 return s;
33 }
代碼比較簡(jiǎn)單,這里就不再多加說(shuō)明了,其中用到了一個(gè)trim函數(shù),下面補(bǔ)上。
//采用正則表達(dá)式去除字符串兩端的空格,匿名函數(shù)用于擴(kuò)展String對(duì)象的方法 String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); } |
上述就是小編為大家分享的Javascript中怎么實(shí)現(xiàn)一個(gè)偽哈希表了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱欄目:Javascript中怎么實(shí)現(xiàn)一個(gè)偽哈希表
網(wǎng)頁(yè)鏈接:http://m.rwnh.cn/article14/gdiide.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、微信小程序、品牌網(wǎng)站建設(shè)、網(wǎng)站收錄、品牌網(wǎng)站制作、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)