자바스크립트는 키-값 쌍을 자주 접합니다. 예전에는 2차원 배열로 구현했는데 오늘은 단순히 사전 도움말 클래스를 시뮬레이션했습니다.
원리: 키 배열과 값 배열이라는 두 개의 배열을 포함하는 개체를 만들고 JavaScript 배열 개체 메서드를 호출합니다.
W3C 참조 주소: http://www.w3school.com.cn/js/jsref_obj_array.asp
BuildDictionary() 메서드는 두 개의 배열을 포함하는 Dictionary 객체를 생성하는 데 사용됩니다
AddItem 메소드는 JavaScript Array 객체의 push 메소드를 호출하여 해당 배열에 키와 값을 추가합니다.
UpdateItem 메소드는 해당 값을 변경하는 데 사용됩니다
DeleteItem 메소드는 JavaScript Array 객체의 Splice 메소드를 호출하여 요소를 삭제합니다. 첫 번째 매개변수는 삭제해야 하는 요소의 인덱스입니다. 첫 번째 매개변수는 삭제된 항목 수를 나타냅니다.
GetKeyStr은 Keys 배열을 연결한 후 문자열을 가져오는 데 사용됩니다.
GetValueStr은 Values 배열을 연결한 후 문자열을 가져오는 데 사용됩니다.
총 5가지 메서드가 포함되어 있습니다.
/*사전 생성*/
function BuildDictionary() {
dic = new Object();
dic.Keys = new Array()
dic .Values = new Array(); //값 배열
return dic;
}
/*添加 key,value*/
function AddItem(key, value, dic) {
var keyCount = dic.Keys.length;
if (keyCount > 0) {
var flag = true;
for (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == key) {
플래그 = false;
break ; //如果存재则不添加
}
}
if (플래그) {
dic.Keys.push(key)
dic.Value s.push(값);
}
}
else {
dic.Keys.push(key)
dic.Values.push(value);
}
return dic;
}
/ *更改key,value*/
function UpdateItem(key, value, dic) {
var keyCount = dic.Keys.length;
if (keyCount > 0) {
var flag = - 1;
for (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == key) {
플래그 = i;
break; //查找상형 인덱스
}
}
if (flag > -1) {
dic.Keys[flag] = key;
dic.Values[ 플래그] = 값;
}
return dic;
}
else {
return dic;
}
}
/*移除키 값*/
function DeleteItem( key, dic) {
var keyCount = dic.Keys.length;
if (keyCount > 0) {
var flag = -1;
for (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == key) {
플래그 = i;
break; //查找상형 인덱스
}
}
if (flag > -1) {
dic.Keys.splice(flag,1); //移除
dic.Values.splice(flag, 1); //移除
}
return dic;
}
else {
return dic;
}
}
/*获取Key字符串,用符号拼接*/
function GetKeyStr(separator,dic)
{
var keyCount=dic.Keys.length;
if(keyCount>0)
{
return dic. Keys.join(구분자);
}
else
{
return '';
}
}
/*获取Value字符串,용符号拼接*/
함수 GetValueStr(구분자,dic)
{
var keyCount=dic.Keys.length;
if(keyCount>0)
{
return dic.Values.join(구분자) ;
}
else
{
return '';
}
}
使사용방법:创建一个全局的变weight,操作这个全局变个就可以용了。