Heim  >  Artikel  >  Web-Frontend  >  Simulieren Sie Wörterbuch-Schlüssel-Wert-Paare in JavaScript

Simulieren Sie Wörterbuch-Schlüssel-Wert-Paare in JavaScript

高洛峰
高洛峰Original
2016-11-25 14:01:581410Durchsuche

JavaScript stößt häufig auf einige Schlüssel-Wert-Paare. Früher wurde es mit einem zweidimensionalen Array implementiert. Heute habe ich einfach die Dictionary-Hilfeklasse simuliert.

Prinzip: Erstellen Sie ein Objekt mit zwei Arrays, einem Schlüsselarray und einem Wertearray, und rufen Sie die JavaScript-Array-Objektmethode auf.

W3C-Referenzadresse: http://www.w3school.com.cn/js/jsref_obj_array.asp

Die BuildDictionary()-Methode wird verwendet, um ein Dictionary-Objekt zu erstellen, das zwei Arrays enthält

Die AddItem-Methode ruft die Push-Methode des Array-Objekts von JavaScript auf, um Schlüssel und Wert an das entsprechende Array anzuhängen.

UpdateItem-Methode wird verwendet, um den entsprechenden Wert zu ändern

DeleteItem-Methode ruft die Splice-Methode des JavaScript-Array-Objekts auf, um Elemente zu löschen. Der erste Parameter stellt die Anzahl der gelöschten Elemente 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:

/*Create Dictionary*/
function BuildDictionary() {
dic = new Object();
dic.Keys = new Array(); //key array
dic .Values ​​​​= new Array(); //Array von Werten
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) {
                flag = false;
                break ; //如果存在则不添加
                    }
{ *更改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) {
                flag = i;
                break; //查找相应的index
            }
        }
        if (flag > -1) {
            dic.Keys[flag] = key;
           dic. Werte[Flag] = Wert;
        }
        return dic;
    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; //查找相应的的index
                        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 '';
  }
}
/*获取Value字符串,用符号拼接*/
function  GetValueStr(separator,dic)
{
  var keyCount=dic.Keys.length;
  if(keyCount>0)
  {
  return dic.Values.join(separator) ;
  }
  else
  {
  return '';
  }

}


使用方法:创建一个全局的变量,操作这个全局变量就可以使用了。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn