您好,登錄后才能下訂單哦!
這篇文章主要介紹“javascript中有hash嗎”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“javascript中有hash嗎”文章能幫助大家解決問(wèn)題。
在JavaScript中有hash。hash指的是“哈希表”,是一種根據(jù)關(guān)鍵字直接訪(fǎng)問(wèn)內(nèi)存儲(chǔ)存位置的數(shù)據(jù)結(jié)構(gòu);JavaScript通過(guò)哈希表,數(shù)據(jù)元素的存放位置和數(shù)據(jù)元素的關(guān)鍵字之間建立了某種對(duì)應(yīng)關(guān)系,建立這種對(duì)應(yīng)關(guān)系的函數(shù)稱(chēng)為哈希函數(shù)。
本教程操作環(huán)境:windows10系統(tǒng)、javascript1.8.5版、Dell G3電腦。
在javascript中,hash指的是哈希表,是一種根據(jù)關(guān)鍵字直接訪(fǎng)問(wèn)內(nèi)存存儲(chǔ)位置的數(shù)據(jù)結(jié)構(gòu);通過(guò)哈希表,數(shù)據(jù)元素的存放位置和數(shù)據(jù)元素的關(guān)鍵字之間建立起某種對(duì)應(yīng)關(guān)系,建立這種對(duì)應(yīng)關(guān)系的函數(shù)稱(chēng)為哈希函數(shù)。
hash就是一個(gè)賦值的方法,含義很多,搜索到的知識(shí)和方法也非常復(fù)雜,但實(shí)際用的并不需要太復(fù)雜,能用的就一點(diǎn)點(diǎn),寫(xiě)法也非常簡(jiǎn)單,hash有多種寫(xiě)法
my hash = {}←Object { } my hash = { "a" : 1}← >Object { a: 1 } my hash.a← 1 > my_hash['a']←1 my_hash = { b: 2}← >Object { b: 2} my hash = { a:l, b: 2} ←>Object { a: 1. b:2} > my_hash.a← 1 > my_hash['a' ]← 1
哈希表的構(gòu)造方法:
假設(shè)要存儲(chǔ)的數(shù)據(jù)元素個(gè)數(shù)是n,設(shè)置一個(gè)長(zhǎng)度為m(m > n)的連續(xù)存儲(chǔ)單元,分別以每個(gè)數(shù)據(jù)元素的關(guān)鍵字Ki(0<=i<=n-1)為自變量,通過(guò)哈希函數(shù)hash(Ki),把Ki映射為內(nèi)存單元的某個(gè)地址hash(Ki),并將數(shù)據(jù)元素存儲(chǔ)在內(nèi)存單元中。
從數(shù)學(xué)的角度看,哈希函數(shù)實(shí)際上是關(guān)鍵字到內(nèi)存單元的映射,因此我們希望通過(guò)哈希函數(shù)通過(guò)盡量簡(jiǎn)單的運(yùn)算使得哈希函數(shù)計(jì)算出的花溪地址盡量均勻的背影射到一系列的內(nèi)存單元中,構(gòu)造哈希函數(shù)有三個(gè)要點(diǎn):
(1)運(yùn)算過(guò)程要盡量簡(jiǎn)單高效,以提高哈希表的插入和檢索效率;
(2)哈希函數(shù)應(yīng)該具有較好的散列型,以降低哈希沖突的概率;
(3)哈希函數(shù)應(yīng)具有較大的壓縮性,以節(jié)省內(nèi)存。
關(guān)于“javascript中有hash嗎”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。