web-dev-qa-db-fra.com

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

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

Je voudrais mettre les données suivantes dans une structure

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

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

De l'aide!

54
Homam

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

Utilisez simplement 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"];
109
Guffa

jQuery, non. Mais JavaScript le fait. Il n'y a que deux structures en JavaScript, tableaux et 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 sont accessibles via la notation par points, obj.property (si le nom de la propriété est un identifiant valide, contrairement à un chiffre tel qu'utilisé ci-dessus) ou avec la notation d'accès au tableau, obj['property'].

5
Felix Kling

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

3
Geo

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
3
Mithun Sreedharan

Oui, vous pouvez utiliser object pour cela:

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