JavaScript常常遇到一些鍵值對,以前用二維數組實現,今天索性模擬了一下Dictionary幫助類。
原理:建立一個對象,包含兩個數組,鍵數組和值數組,呼叫JavaScript Array對象的方法。
W3C參考位址:http://www.w3school.com.cn/js/jsref_obj_array.asp
BuildDictionary()方法用來建立一個包含兩個陣列的Dictionary物件
AddItem方法呼叫push方法,用於將key,value追加到對應的陣列。
UpdateItem方法用於更改對應的value
DeleteItem方法 呼叫JavaScript的Array物件的Splice方法用於刪除元素,第一個參數是需要刪除的元素的index,第一個參數代表刪除的個數。
GetKeyStr用來得到Keys陣列拼接後的字串
GetValueStr用來取得Values陣列拼接後的字串
共包含五個方法:
/*建立Dictionary*/
function BuildDictionat = new Object();
dic.Keys = new Array(); //鍵陣列
dic.Values = new Array(); //值數組
/*新增 key,value*/
function AddItem(key, value, dic) {
var keyCount = dic.Keys.length;
for (var i = 0; i if (dic.Keys[i] == key) {
中斷; //若有則未加入
}
}
dic.Values.push(value);
}
}
key)
dic.Values.push(value);
}
return dic;
}
/*改ngth;
if (keyCount > 0) {
var flag = -1;
for (var i = 0 ) {
flag = i ;
休息; // 找出對應的指標
}
}
dic.Values[flag] = value;
}
其他{
return dic;
}
}
/*刪除鍵值*/
function DeleteItem(key, dic) { var flag = - 1;
for (var i = 0; i if (dic.Keys[
break; // 找出對應的索引
}
}
// 刪除
dic.Values.splice(flag, 1); // 刪除
}
return dic;
}
以符號分割*/
function GetKeyStr(separator,dic)
{
var keyCount = dic.Keys.length;
if(keyCount>0)
{
return dic.Keys.join(separator);
}
else
{
return 』符號拼接*/
function GetValueStr(separator,dic)
{
var keyCount=dic.Keys.length;
if(keyCount>0)
{
return dic.Values。
return '';
}
}