首頁  >  文章  >  web前端  >  JavaScript中模擬 Dictionary鍵值對

JavaScript中模擬 Dictionary鍵值對

高洛峰
高洛峰原創
2016-11-25 14:01:581464瀏覽

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 '';
  }
}

使用方法:建立一個全域變量,操作這個全域變數就可以使用了。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn