Disons que j'ai un objet qui ressemble à ceci

var object = { id : 1, name : "Test"}

Et je sais que dans jQuery je peux faire un chacun en supposant que j'ai un tableau de cet exemple d'objet comme ceci:

$.each(arrayOfObjects, function (i, value) {
    this.id // gives me the id
    this.name //gives me the name
});

En supposant que id et name sont des paramètres de chaîne, comment puis-je obtenir les valeurs ??

MISE À JOUR

J'ai déjà modifié le code, je veux juste savoir si la sortie est un moyen d'accomplir quelque chose comme ça

var aux = 'id'
$.each(arrayOfObjects, function (i, value) {
    this.aux // gives me the id
    this+ aux
});
-1
Jorge 20 oct. 2011 à 01:12

4 réponses

Meilleure réponse

Si j'ai bien compris la question, vous souhaitez obtenir les clés de l'objet ainsi que les valeurs? Vous pouvez parcourir chaque objet du tableau pour obtenir les clés et les valeurs.

$.each(arrayOfObjects, function() {
    // Loop though object to get its info
    $.each(this, function(i, v){
        console.log(i+': '+v); // Prints 'id: 1' and 'name: Test'
    });
});

MISE À JOUR : pour utiliser une chaîne comme clé dans un objet, vous devez utiliser [].

var aux = 'id'
$.each(arrayOfObjects, function (i, value) {
    this[aux] // gives me the id
});
2
Rocket Hazmat 19 oct. 2011 à 21:24

Vous avez défini l'objet de manière incorrecte. : doit être utilisé à la place de =, à l'intérieur des littéraux d'objet.

Pour finir, n'omettez pas la parenthèse fermante de la méthode .each. Vous devriez avoir remarqué cette erreur dans la console d'erreur (CTRL + MAJ + J).

var object = { id : 1, name : "Test"}

//Example:
var arrayOfObjects = {
    element1: {id:1, name:"test"}
};
$.each(arrayOfObjects, function (i, value) {
    value.id // gives me the id
    value.name //gives me the name
}); //<-- Parenthesis!
2
Rocket Hazmat 19 oct. 2011 à 21:29

Configurez votre objet pour qu'il soit dans un tableau, puis parcourez-le.

var object = [{ id : 1, name : "Test"}];

$.each(arrayOfObjects, function (i, obj) {
    obj.id //gives me the id
    obj.name //gives me the name
});
0
Rocket Hazmat 19 oct. 2011 à 21:29

Value.id et value.name doivent contenir les valeurs correctes

N'oubliez pas que vous devez utiliser '{id: 1, name: "Test"}'

1
Manuel van Rijn 19 oct. 2011 à 21:15