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

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

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

一、javascript哈希表簡介

javascript里面是沒有哈希表的,一直在java,C#中有時候用到了這一種數(shù)據(jù)結(jié)構(gòu),javascript里面若沒有,感覺非常不順手。細(xì)細(xì)看來,其實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)航欄適配完美版,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 關(guān)于微信小程序獲取小程序碼并接受buffer流保存為圖片的方法

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

    這篇文章主要介紹了關(guān)于微信小程序獲取小程序碼并接受buffer流保存為圖片的方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(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)知識進行詳細(xì)介紹,具有很好的參考價值,下面跟著小編一起來看下吧
    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小游戲之象棋暗棋源碼詳解,對游戲源碼進行了較為詳細(xì)的分析,并附帶完整實例代碼供大家學(xué)習(xí)參考,需要的朋友可以參考下
    2014-09-09
  • JS中進行字符串替換的方法

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

    replace() 方法用于在字符串中用一些字符替換另一些字符,或替換一個與正則表達(dá)式匹配的子串,這篇文章主要介紹了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

最新評論

岑巩县| 宜章县| 南康市| 贵南县| 邵东县| 天门市| 姜堰市| 三江| 荔波县| 峡江县| 吴桥县| 图木舒克市| 兰溪市| 蒙自县| 太仆寺旗| 大姚县| 壤塘县| 遂宁市| 马边| 滦平县| 南涧| 深泽县| 敖汉旗| 山西省| 高碑店市| 沙田区| 商城县| 治多县| 淮南市| 讷河市| 分宜县| 临泉县| 宽甸| 通城县| 聂荣县| 屏南县| 桃园市| 阳江市| 霍城县| 惠安县| 吴堡县|