Artículo original publicado en: http://www.birchlee.com/post/2011/10/19/27.aspx
JavaScript a menudo encuentra algunos pares clave-valor, que anteriormente se implementaban usando matrices bidimensionales. Hoy, simplemente simulamos la clase de ayuda Diccionario.
Principio: cree un objeto que contenga dos matrices, una matriz de claves y una matriz de valores, y llame al método del objeto Javascript Array.
Dirección de referencia del W3C: http://www.w3school.com.cn/js/jsref_obj_array.asp
El método BuildDictionary() se utiliza para crear un objeto Diccionario que contiene dos matrices.
El método AddItem llama al método push del objeto Array de JavaScript para agregar claves y valores a la matriz correspondiente.
El método UpdateItem se utiliza para cambiar el valor correspondiente.
El método DeleteItem llama al método Splice del objeto Array de JavaScript para eliminar elementos. El primer parámetro es el índice del elemento que se eliminará y el primer parámetro representa el número que se eliminará.
GetKeyStr se usa para obtener la cadena después de concatenar la matriz de claves
GetValueStr se usa para obtener la cadena después de concatenar la matriz de Valores.
Contiene cinco métodos en total:
/*Crear diccionario*/
función ConstruirDiccionario() {
dic = nuevo Objeto();
dic.Keys = new Array(); //matriz de claves
dic.Values = new Array(); //matriz de valores
devolver dic;
}
/*Agregar clave, valor*/
función AddItem(clave, valor, dic) {
var keyCount = dic.Keys.length;
si (keyCount > 0) {
var bandera = verdadero;
para (var i = 0; i < keyCount; i++) {
si (dic.Keys[i] == clave) {
bandera = falso;
break; //Si existe, no lo agregues
}
}
si (bandera) {
dic.Keys.push(clave)
dic.Values.push(valor);
}
}
demás {
dic.Keys.push(clave)
dic.Values.push(valor);
}
volver dic;
}
/*Cambiar clave, valor*/
función UpdateItem (clave, valor, dic) {
var keyCount = dic.Keys.length;
si (keyCount > 0) {
bandera var = -1;
para (var i = 0; i < keyCount; i++) {
si (dic.Keys[i] == clave) {
bandera = yo;
break; //Encontrar el índice correspondiente
}
}
si (bandera > -1) {
dic.Keys[bandera] = clave;
dic.Values[bandera] = valor;
}
volver dic;
}
demás {
volver dic;
}
}
/*Eliminar valor clave*/
función EliminarItem(clave, dic) {
var keyCount = dic.Keys.length;
si (keyCount > 0) {
bandera var = -1;
para (var i = 0; i < keyCount; i++) {
si (dic.Keys[i] == clave) {
bandera = yo;
break; //Encontrar el índice correspondiente
}
}
si (bandera > -1) {
dic.Keys.splice(bandera,1); //Eliminar
dic.Values.splice(bandera, 1); //Eliminar
}
volver dic;
}
demás {
volver dic;
}
}
/*Obtener la cadena clave y concatenarla con símbolos*/
función GetKeyStr(separador,dic)
{
var keyCount=dic.Keys.length;
si(keyCount>0)
{
return dic.Keys.join(separador);
}
demás
{
devolver '';
}
}
/*Obtener la cadena de Valor y concatenarla con símbolos*/
función GetValueStr(separador,dic)
{
var keyCount=dic.Keys.length;
si(keyCount>0)
{
return dic.Values.join(separador);
}
demás
{
devolver '';
}
}
Uso: cree una variable global y opere esta variable global para usarla.
Aquí hay un buen comienzo