基于javascript實(shí)現(xiàn)鍵值對存儲的方式的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及基于javascript實(shí)現(xiàn)鍵值對存儲的方式。
【背景技術(shù)】
[0002]JavaScript是一種基于對象和事件驅(qū)動(dòng)并具有相對安全性的客戶端腳本語言,是一種動(dòng)態(tài)類型、弱類型、基于原型的直譯式腳本語言;同時(shí)也是一種廣泛應(yīng)用于客戶端Web開發(fā)的腳本語言;常用來給HTML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)網(wǎng)頁添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作等。由于其語言的特殊性,無法直接以Key-Value (鍵值對)形式存儲對象,從而導(dǎo)致存儲數(shù)據(jù)后,無法直接更具某一標(biāo)識,快速獲取到對應(yīng)的值。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的缺陷,提供一種基于javascript實(shí)現(xiàn)鍵值對存儲的方式。
[0004]為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案是設(shè)計(jì)一種基于javascript實(shí)現(xiàn)鍵值對存儲的方式,包括如下步驟:
[0005]I)定義一個(gè)Map方法,其至少包含如下三個(gè)基本方法:
[0006]put (key,value),get (key),remove (key),可擴(kuò)展其它方法;
[0007]2)在Map方法中創(chuàng)建一個(gè)集合,該集合中包含一個(gè)數(shù)組長度為2的對象,以便于用數(shù)組對象保存key和value ;
[0008]3)在put方法中實(shí)現(xiàn)存儲操作:先遍歷步驟2)創(chuàng)建的集合對象,循環(huán)與傳入進(jìn)來的key進(jìn)行比較;如果存在則替換原來的,否則就保存新的,然后保存至集合中;
[0009]4)在get方法中實(shí)現(xiàn)根據(jù)key值獲取value對象:先遍歷步驟2)創(chuàng)建的集合對象,循環(huán)與傳入進(jìn)來的key進(jìn)行比較;如果存在則跳出循環(huán)返回,并返回對應(yīng)的Value對象,否則返回空;
[0010]5)在remove方法中實(shí)現(xiàn)刪除操作:先遍歷步驟2)創(chuàng)建的集合對象,在遍歷集合中,先從尾到頭逐個(gè)刪除集合中的元素,并與傳入進(jìn)來的key進(jìn)行比較;如果相等則跳出該次循環(huán),否則把刪除的元素重新保存到集合中。
[0011 ] 優(yōu)選的,在步驟2)中定義一個(gè)長度為2的數(shù)組,數(shù)組下標(biāo)為O的保存key (鍵),數(shù)組下標(biāo)為I的保存value (值),然后再定義一個(gè)集合保存數(shù)組對象。
[0012]本發(fā)明通過對JavaScript中運(yùn)用在集合中存儲對象數(shù)組,分別保存key (鍵)和Value (值),解決了 JavaScript在無法以Key-Value (鍵值對)存儲的問題,簡化了存儲后循環(huán)遍歷取值的繁瑣性。更簡潔,高效解決了信息在本地臨時(shí)緩存,或信息級聯(lián)處理(如城市和區(qū)域快速關(guān)聯(lián))。
【附圖說明】
[0013]圖1是本發(fā)明的流程示意圖。
【具體實(shí)施方式】
[0014]下面結(jié)合附圖和實(shí)施例,對本發(fā)明的【具體實(shí)施方式】作進(jìn)一步描述。以下實(shí)施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護(hù)范圍。
[0015]本發(fā)明具體實(shí)施的技術(shù)方案是:
[0016]如圖1所示,一種基于javascript實(shí)現(xiàn)鍵值對存儲的方式,包括如下步驟:
[0017]I)定義一個(gè)Map方法,其至少包含如下三個(gè)基本方法:
[0018]put (key, value),get (key),remove (key),可擴(kuò)展其它方法;
[0019]2)在Map方法中創(chuàng)建一個(gè)集合,該集合中包含一個(gè)數(shù)組長度為2的對象,以便于用數(shù)組對象保存key和value ;
[0020]3)在put方法中實(shí)現(xiàn)存儲操作:先遍歷步驟2)創(chuàng)建的集合對象,循環(huán)與傳入進(jìn)來的key進(jìn)行比較;如果存在則替換原來的,否則就保存新的,然后保存至集合中;
[0021]4)在get方法中實(shí)現(xiàn)根據(jù)key值獲取value對象:先遍歷步驟2)創(chuàng)建的集合對象,循環(huán)與傳入進(jìn)來的key進(jìn)行比較;如果存在則跳出循環(huán)返回,并返回對應(yīng)的Value對象,否則返回空;
[0022]5)在remove方法中實(shí)現(xiàn)刪除操作:先遍歷步驟2)創(chuàng)建的集合對象,在遍歷集合中,先從尾到頭逐個(gè)刪除集合中的元素,并與傳入進(jìn)來的key進(jìn)行比較;如果相等則跳出該次循環(huán),否則把刪除的元素重新保存到集合中。
[0023]優(yōu)選的,在步驟2)中定義一個(gè)長度為2的數(shù)組,數(shù)組下標(biāo)為O的保存key (鍵),數(shù)組下標(biāo)為I的保存value (值),然后再定義一個(gè)集合保存數(shù)組對象。
[0024]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.基于javascript實(shí)現(xiàn)鍵值對存儲的方式,其特征在于,包括如下步驟: 1)定義一個(gè)Map方法,其至少包含如下三個(gè)方法:put(key, value),get (key),remove (key); 2)在Map方法中創(chuàng)建一個(gè)集合,該集合中包含一個(gè)數(shù)組長度為2的對象,以便于用數(shù)組對象保存key和value ; 3)在put方法中實(shí)現(xiàn)存儲操作:先遍歷步驟2)創(chuàng)建的集合對象,循環(huán)與傳入進(jìn)來的key進(jìn)行比較;如果存在則替換原來的,否則就保存新的,然后保存至集合中; 4)在get方法中實(shí)現(xiàn)根據(jù)key值獲取value對象:先遍歷步驟2)創(chuàng)建的集合對象,循環(huán)與傳入進(jìn)來的key進(jìn)行比較;如果存在則跳出循環(huán)返回,并返回對應(yīng)的Value對象,否則返回空; 5)在remove方法中實(shí)現(xiàn)刪除操作:先遍歷步驟2)創(chuàng)建的集合對象,在遍歷集合中,先從尾到頭逐個(gè)刪除集合中的元素,并與傳入進(jìn)來的key進(jìn)行比較;如果相等則跳出該次循環(huán),否則把刪除的元素重新保存到集合中。2.根據(jù)權(quán)利要求1所述的基于javascript實(shí)現(xiàn)鍵值對存儲的方式,其特征在于,在步驟2)中定義一個(gè)長度為2的數(shù)組,數(shù)組下標(biāo)為O的保存key (鍵),數(shù)組下標(biāo)為I的保存value (值),然后再定義一個(gè)集合保存數(shù)組對象。
【專利摘要】本發(fā)明公開了一種基于javascript實(shí)現(xiàn)鍵值對存儲的方式,包括如下步驟:1)定義一個(gè)Map方法;2)在Map方法中創(chuàng)建一個(gè)集合,該集合中包含一個(gè)數(shù)組長度為2的對象,以便于用數(shù)組對象保存key和value;3)在put方法中實(shí)現(xiàn)存儲操作;4)在get方法中實(shí)現(xiàn)根據(jù)key值獲取value對象;5)在remove方法中實(shí)現(xiàn)刪除操作。本發(fā)明通過對JavaScript中運(yùn)用在集合中存儲對象數(shù)組,分別保存key(鍵)和Value(值),解決了JavaScript在無法以Key-Value(鍵值對)存儲的問題,簡化了存儲后循環(huán)遍歷取值的繁瑣性。更簡潔,高效解決了信息在本地臨時(shí)緩存,或信息級聯(lián)處理(如城市和區(qū)域快速關(guān)聯(lián))。
【IPC分類】G06F9/44
【公開號】CN105159664
【申請?zhí)枴緾N201510481290
【發(fā)明人】王世華, 薛斌, 廖志民
【申請人】蘇州博優(yōu)贊信息科技有限責(zé)任公司
【公開日】2015年12月16日
【申請日】2015年8月7日