원본 기사 게시 위치: http://www.birchlee.com/post/2011/10/19/27.aspx
JavaScript에서는 이전에 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가지 방법이 포함되어 있습니다.
/*사전 생성*/
함수 BuildDictionary() {
dic = 새로운 객체();
dic.Keys = new Array(); //키 배열
dic.Values = new Array(); //값 배열
딕을 반환;
}
/*키, 값 추가*/
함수 AddItem(키, 값, dic) {
var keyCount = dic.Keys.length;
if (키카운트 > 0) {
var 플래그 = true;
for (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == 키) {
플래그 = 거짓;
break; //존재한다면 추가하지 마세요.
}
}
if (플래그) {
dic.Keys.push(키)
dic.Values.push(값);
}
}
또 다른 {
dic.Keys.push(키)
dic.Values.push(값);
}
딕을 반환;
}
/*키, 값 변경*/
함수 UpdateItem(키, 값, dic) {
var keyCount = dic.Keys.length;
if (키카운트 > 0) {
var 플래그 = -1;
for (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == 키) {
플래그 = 나;
break; //해당 인덱스를 찾는다.
}
}
if (플래그 > -1) {
dic.Keys[플래그] = 키;
dic.Values[플래그] = 값;
}
딕을 반환;
}
또 다른 {
딕을 반환;
}
}
/*키 값 제거*/
함수 삭제항목(키, dic) {
var keyCount = dic.Keys.length;
if (키카운트 > 0) {
var 플래그 = -1;
for (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == 키) {
플래그 = 나;
break; //해당 인덱스를 찾는다.
}
}
if (플래그 > -1) {
dic.Keys.splice(flag,1); //제거
dic.Values.splice(flag, 1); //제거
}
딕을 반환;
}
또 다른 {
딕을 반환;
}
}
/*키 문자열을 가져와서 기호와 연결*/
함수 GetKeyStr(구분자,dic)
{
var keyCount=dic.Keys.length;
if(키카운트>0)
{
return dic.Keys.join(separator);
}
또 다른
{
반품 '';
}
}
/*값 문자열을 가져와서 기호와 연결*/
함수 GetValueStr(구분자,dic)
{
var keyCount=dic.Keys.length;
if(키카운트>0)
{
return dic.Values.join(separator);
}
또 다른
{
반품 '';
}
}
사용법: 글로벌 변수를 생성하고 이 글로벌 변수를 연산하여 사용합니다.
좋은 시작이군요