55 votes

JQuery prend-il en charge la collecte de dictionnaires (clé, valeur)?

JQuery prend-il en charge la collecte Dictionaries (clé, valeur)?

J'aimerais définir les données suivantes dans une structure

 [1, false]
[2, true]
[3, false]
 

avec la possibilité d'ajouter, rechercher, supprimer et mettre à jour.

De l'aide!

111voto

Guffa Points 308133

Non, jQuery ne le fait pas, mais Javascript le fait.

Il suffit d'utiliser un objet:

 var dict = {
  "1" : false,
  "2" : true,
  "3" : false
};

// lookup:
var second = dict["2"];
// update:
dict["2"] = false;
// add:
dict["4"] = true;
// delete:
delete dict["2"];
 

5voto

Felix Kling Points 247451

jQuery, pas. Mais le JavaScript n'. Il y a seulement deux structures dans le JavaScript, des tableaux et des objets.

Les objets peuvent être utilisés comme dictionnaire, où les propriétés sont les "clés":

var dict = {
    1: true,
    2: true,
    3: false
};

Les propriétés des objets peut être consulté avec la notation point, obj.property (si le nom de la propriété est un identificateur valide, qui un chiffre utilisé ci-dessus, ne l'est pas) ou avec accès au tableau de notation, obj['property'].

3voto

Mithun Points 9971

Avec du JavaScript pur,

 var myDictionary = new Object();
myDictionary[1] = false;
myDictionary[2] = true;
myDictionary[3] = false;

function look(i) { return myDictionary[i];}
look(1); // will return false
 

3voto

Tempus Points 22972

Vous n'avez pas besoin de classes de dictionnaire distinctes, car les objets Javascript agissent comme des dictionnaires. Regarde ça:

 var userObject = {}; // equivalent to new Object()
userObject["lastLoginTime"] = new Date();
alert(userObject["lastLoginTime"]);
 

Article complet ici: http://msdn.microsoft.com/en-us/magazine/cc163419.aspx

2voto

Benoît Points 5598

Oui, vous pouvez utiliser objet pour faire ceci:

 var myDict = { 1:false , 2:true , 3:false };
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X