Originalartikel veröffentlicht unter: http://www.birchlee.com/post/2011/10/19/27.aspx
JavaScript stößt häufig auf einige Schlüssel-Wert-Paare, die zuvor mithilfe zweidimensionaler Arrays implementiert wurden. Heute haben wir einfach die Hilfeklasse Dictionary simuliert.
Prinzip: Erstellen Sie ein Objekt mit zwei Arrays, einem Schlüsselarray und einem Wertearray, und rufen Sie die Methode des Javascript-Array-Objekts auf.
W3C-Referenzadresse: http://www.w3school.com.cn/js/jsref_obj_array.asp
Mit der Methode BuildDictionary() wird ein Dictionary-Objekt erstellt, das zwei Arrays enthält
Die AddItem-Methode ruft die Push-Methode des Array-Objekts von JavaScript auf, um Schlüssel und Werte an das entsprechende Array anzuhängen.
Die UpdateItem-Methode wird verwendet, um den entsprechenden Wert zu ändern
Die Methode „DeleteItem“ ruft die Methode „Splice“ des Array-Objekts von JavaScript auf, um Elemente zu löschen. Der erste Parameter ist der Index des zu löschenden Elements und der erste Parameter stellt die zu löschende Nummer dar.
GetKeyStr wird verwendet, um die Zeichenfolge nach der Verkettung des Keys-Arrays abzurufen
GetValueStr wird verwendet, um die Zeichenfolge nach der Verkettung des Values-Arrays abzurufen.
Enthält insgesamt fünf Methoden:
/*Wörterbuch erstellen*/
Funktion BuildDictionary() {
dic = neues Objekt();
dic.Keys = new Array(); //Schlüsselarray
dic.Values = new Array(); //Wert-Array
Return-Dic;
}
/*Schlüssel, Wert hinzufügen*/
Funktion 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) {
Flag = false;
break; //Wenn es existiert, füge es nicht hinzu
}
}
if (Flagge) {
dic.Keys.push(Taste)
dic.Values.push(value);
}
}
anders {
dic.Keys.push(Taste)
dic.Values.push(value);
}
Return-Dic;
}
/*Schlüssel, Wert ändern*/
Funktion 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) {
flag = i;
break; //Den entsprechenden Index finden
}
}
if (flag > -1) {
dic.Keys[flag] = key;
dic.Values[flag] = value;
}
Return-Dic;
}
anders {
Return-Dic;
}
}
/*Schlüsselwert entfernen*/
Funktion 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) {
flag = i;
break; //Den entsprechenden Index finden
}
}
if (flag > -1) {
dic.Keys.splice(flag,1); //Entfernen
dic.Values.splice(flag, 1); //Entfernen
}
Return-Dic;
}
anders {
Return-Dic;
}
}
/*Holen Sie sich die Schlüsselzeichenfolge und verketten Sie sie mit Symbolen*/
Funktion GetKeyStr(separator,dic)
{
var keyCount=dic.Keys.length;
if(keyCount>0)
{
return dic.Keys.join(separator);
}
anders
{
zurückkehren '';
}
}
/*Erhalten Sie die Wertzeichenfolge und verketten Sie sie mit Symbolen*/
Funktion GetValueStr(separator,dic)
{
var keyCount=dic.Keys.length;
if(keyCount>0)
{
return dic.Values.join(separator);
}
anders
{
zurückkehren '';
}
}
Verwendung: Erstellen Sie eine globale Variable und bedienen Sie diese globale Variable, um sie zu verwenden.
Hier ist ein guter Anfang