最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js實現(xiàn)HashTable(哈希表)的實例分析

 更新時間:2016年11月21日 15:52:59   作者:逆心  
本文詳細介紹javascript哈希表的實例分析及用法。下面就跟小編一起來學(xué)習(xí)下吧

一、javascript哈希表簡介

javascript里面是沒有哈希表的,一直在java,C#中有時候用到了這一種數(shù)據(jù)結(jié)構(gòu),javascript里面若沒有,感覺非常不順手。細細看來,其實javascript的object的屬性其實與哈希表非常類似。

如:

var person = {};
person["name"] = "關(guān)羽";

我們只需要在其基礎(chǔ)上再封裝一些HashTable的函數(shù),就能夠得到一個精簡版的哈希表。

加入函數(shù)如下:

函數(shù)名 說明 返回值
add(key,value) 添加項
getValue(key) 根據(jù)key取值 object
remove(key) 根據(jù)key刪除一項
containsKey(key) 是否包含某個key bool
containsValue(value) 是否包含某個值 bool
getValues() 獲取所有的值的數(shù)組 array
getKeys() 獲取所有的key的數(shù)組 array
getSize() 獲取項總數(shù) int
clear() 清空哈希表

二、代碼實現(xiàn)

其具體的實現(xiàn)可以查看代碼,都不算很復(fù)雜的東西。

function HashTable() {
 var size = 0;
 var entry = new Object();
 this.add = function (key, value) {
 if (!this.containsKey(key)) {
 size++;
 }
 entry[key] = value;
 }
 this.getValue = function (key) {
 return this.containsKey(key) ? entry[key] : null;
 }
 this.remove = function (key) {
 if (this.containsKey(key) && (delete entry[key])) {
 size--;
 }
 }
 this.containsKey = function (key) {
 return (key in entry);
 }
 this.containsValue = function (value) {
 for (var prop in entry) {
 if (entry[prop] == value) {
 return true;
 }
 }
 return false;
 }
 this.getValues = function () {
 var values = new Array();
 for (var prop in entry) {
 values.push(entry[prop]);
 }
 return values;
 }
 this.getKeys = function () {
 var keys = new Array();
 for (var prop in entry) {
 keys.push(prop);
 }
 return keys;
 }
 this.getSize = function () {
 return size;
 }
 this.clear = function () {
 size = 0;
 entry = new Object();
 }
}

簡單使用示例:

var manHT = new HashTable();
manHT.add("p1","劉備");
manHT.add("p2","關(guān)羽");
$("#div1").text(manHT.getValue("p1"));

 

以上是本文的全部內(nèi)容,希望對大家有所幫助!

相關(guān)文章

  • 小程序?qū)崿F(xiàn)自定義導(dǎo)航欄適配完美版

    小程序?qū)崿F(xiàn)自定義導(dǎo)航欄適配完美版

    這篇文章主要介紹了小程序?qū)崿F(xiàn)自定義導(dǎo)航欄適配完美版,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 關(guān)于微信小程序獲取小程序碼并接受buffer流保存為圖片的方法

    關(guān)于微信小程序獲取小程序碼并接受buffer流保存為圖片的方法

    這篇文章主要介紹了關(guān)于微信小程序獲取小程序碼并接受buffer流保存為圖片的方法,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用小程序具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2019-06-06
  • javascript數(shù)據(jù)類型詳解

    javascript數(shù)據(jù)類型詳解

    本文介紹了對javascript數(shù)據(jù)類型;隱式轉(zhuǎn)換 (+ 和 -,== 和 ===);包裝對象等相關(guān)知識進行詳細介紹,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 奇偶行高亮顯示及鼠標(biāo)劃過高亮顯示類

    奇偶行高亮顯示及鼠標(biāo)劃過高亮顯示類

    奇或偶數(shù)行高亮顯示及鼠標(biāo)莫過高亮顯示,一個經(jīng)常用到的效果,也能谷歌到大把的這種效果JS,但好像還沒有一個封裝成類直接用的.想象自己當(dāng)初谷歌這個類時,還真沒少折騰時間.
    2010-07-07
  • FileUpload上傳圖片(圖片不變形)

    FileUpload上傳圖片(圖片不變形)

    FileUpload上傳圖片(圖片不變形) 的實現(xiàn)方法,需要的朋友可以參考下。
    2010-08-08
  • js完美的div拖拽實例代碼

    js完美的div拖拽實例代碼

    文章實現(xiàn)的div拖拽程序可以根據(jù)按鈕來控制是要種拖拽方式與位置 ,下面希望有需要的朋友可參考
    2014-01-01
  • JS小游戲之象棋暗棋源碼詳解

    JS小游戲之象棋暗棋源碼詳解

    這篇文章主要介紹了JS小游戲之象棋暗棋源碼詳解,對游戲源碼進行了較為詳細的分析,并附帶完整實例代碼供大家學(xué)習(xí)參考,需要的朋友可以參考下
    2014-09-09
  • JS中進行字符串替換的方法

    JS中進行字符串替換的方法

    replace() 方法用于在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串,這篇文章主要介紹了js中進行字符串替換的方法,需要的朋友可以參考下
    2024-01-01
  • js實現(xiàn)文字頭像的生成代碼

    js實現(xiàn)文字頭像的生成代碼

    這篇文章主要介紹了js實現(xiàn)文字頭像的生成的代碼,代碼簡單易懂,非常不錯,對大家的工作或?qū)W習(xí)具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • JS實現(xiàn)數(shù)組扁平化的方法分享

    JS實現(xiàn)數(shù)組扁平化的方法分享

    數(shù)組扁平化指的是:將一個多層嵌套的數(shù)組,處理成只有一層的數(shù)組。本文主要和大家介紹了幾個常用的JS數(shù)組扁平化方法,希望對大家有所幫助
    2023-04-04

最新評論

会东县| 黄梅县| 吉水县| 石家庄市| 西昌市| 铜川市| 桂阳县| 临泉县| 紫金县| 都江堰市| 资中县| 望谟县| 竹北市| 醴陵市| 汉阴县| 白玉县| 保靖县| 高青县| 锦屏县| 郧西县| 武义县| 葫芦岛市| 准格尔旗| 德化县| 呼玛县| 青浦区| 乌兰县| 长阳| 双江| 图片| 瑞金市| 茌平县| 河南省| 湾仔区| 嘉义县| 社旗县| 汤原县| 辽源市| 泸水县| 蕉岭县| 奉节县|