Article original publié sur : http://www.birchlee.com/post/2011/10/19/27.aspx
JavaScript rencontre souvent des paires clé-valeur, qui étaient auparavant implémentées à l'aide de tableaux bidimensionnels. Aujourd'hui, nous avons simplement simulé la classe d'aide Dictionary.
Principe : Créer un objet contenant deux tableaux, un tableau de clés et un tableau de valeurs, et appeler la méthode de l'objet Javascript Array.
Adresse de référence du W3C : http://www.w3school.com.cn/js/jsref_obj_array.asp
La méthode BuildDictionary() est utilisée pour créer un objet Dictionary contenant deux tableaux
La méthode AddItem appelle la méthode push de l'objet Array de JavaScript pour ajouter des clés et des valeurs au tableau correspondant.
La méthode UpdateItem est utilisée pour modifier la valeur correspondante
La méthode DeleteItem appelle la méthode Splice de l'objet Array de JavaScript pour supprimer des éléments. Le premier paramètre est l'index de l'élément à supprimer et le premier paramètre représente le numéro à supprimer.
GetKeyStr est utilisé pour obtenir la chaîne après avoir concaténé le tableau Keys
GetValueStr est utilisé pour obtenir la chaîne après avoir concaténé le tableau Values.
Contient cinq méthodes au total :
/*Créer un dictionnaire*/
fonction BuildDictionary() {
dic = nouvel objet ();
dic.Keys = new Array(); //tableau de clés
dic.Values = new Array(); //tableau de valeurs
retourner le disque ;
}
/*Ajouter une clé, une valeur*/
function AddItem (clé, valeur, dic) {
var keyCount = dic.Keys.length;
si (compteclé > 0) {
var indicateur = vrai ;
pour (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == clé) {
drapeau = faux ;
break; //S'il existe, ne l'ajoutez pas
}
}
si (drapeau) {
dic.Keys.push(clé)
dic.Values.push(valeur);
}
}
autre {
dic.Keys.push(clé)
dic.Values.push(valeur);
}
retourner le disque ;
}
/*Changer la clé, la valeur*/
function UpdateItem (clé, valeur, dic) {
var keyCount = dic.Keys.length;
si (compteclé > 0) {
var indicateur = -1 ;
pour (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == clé) {
drapeau = je;
break; //Trouver l'index correspondant
}
}
si (drapeau > -1) {
dic.Keys[drapeau] = clé ;
dic.Values[drapeau] = valeur ;
}
retourner le disque ;
}
autre {
retourner le disque ;
}
}
/*Supprimer la valeur clé*/
function DeleteItem (clé, dic) {
var keyCount = dic.Keys.length;
si (compteclé > 0) {
var indicateur = -1 ;
pour (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == clé) {
drapeau = je;
break; //Trouver l'index correspondant
}
}
si (drapeau > -1) {
dic.Keys.splice(drapeau,1); //Supprimer
dic.Values.splice(drapeau, 1); //Supprimer
}
retourner le disque ;
}
autre {
retourner le disque ;
}
}
/*Obtenir la chaîne clé et la concaténer avec des symboles*/
fonction GetKeyStr (séparateur, dic)
{
var keyCount=dic.Keys.length;
si (compte clé> 0)
{
return dic.Keys.join(séparateur);
}
autre
{
retour '';
}
}
/*Obtenir la chaîne de valeur et la concaténer avec des symboles*/
fonction GetValueStr (séparateur, dic)
{
var keyCount=dic.Keys.length;
si (compte clé> 0)
{
return dic.Values.join(séparateur);
}
autre
{
retour '';
}
}
Utilisation : créez une variable globale et utilisez cette variable globale pour l'utiliser.
Voici un bon début