this.ObjArr = {};
this.Count = 0;
//Ajouter
this.Add = function(key, value) {
if (this.ObjArr.hasOwnProperty(key)) {
return false; //Si la clé existe déjà, faites ne pas l'ajouter
}
else {
this.ObjArr[key] = value;
this.Count ;
return true;
}
}
//Qu'il contienne un élément
this.Contains = function(key) {
return this.ObjArr.hasOwnProperty(key);
}
//Obtenir un élément équivaut à this.ObjArr[key]
this.GetValue = function(key) {
if (this.Contains(key)) {
return this ObjArr[. ];
; 🎜> }
//Supprimer
this.Remove = function(key) {
if (this.Contains(key)) {
delete this.ObjArr[key];
}
}
// Effacer
this.Clear = function() {
this.ObjArr = {}; this.Count = 0;
}
Code de test :
//Employé
fonction employé(id, userName) {
this.id = id;
this.userName = userName;
}
test de fonction() {
var ht = new HashTable();
var tmpEmployee = null;
tmpEmployee = nouvel employé (i, "Employee_" i);
ht.Add(i, tmpEmployee); }
for (var i = 1; i <= ht.Count; i ) {
alert(ht.GetValue(i ).userName); //En fait équivalent à ht.ObjArr[i].userName
//alert(ht.ObjArr[i].userName);
}
ht.Remove(1); 🎜> alert(ht.Contains(1)); //false
alert(ht.Contains(2)); //true
//alert(ht.GetValue(1)); 🎜> var result = ht.GetValue(2);
if (result != null) {
alert("Id de l'employé :" result.id ";UserName:" result.userName);
}
ht.Add(2, "Cette clé existe déjà !"); //L'ajout n'est pas valide
//ht.Clear(); //Effacer
alert(ht.Count);
}