Ajout d'éléments à un objet par le biais de la .méthode push()
Je suis en train de faire une boucle à travers quelques éléments d'entrée de la case "type". Après cela, je suis en ajoutant les valeurs et vérifié les attributs d'un tableau. C'est mon code:
var stuff = {};
$('form input[type=checkbox]').each(function() {
stuff[$(this).attr('value')] = $(this).attr('checked');
});
Cela fonctionne bien, mais je me demande si je peux faire la même chose avec les .méthode push() en Jquery?
J'ai essayé quelque chose comme ça, mais ça ne fonctionne pas:
stuff.push( {$(this).attr('value'):$(this).attr('checked')} );
Edit:
J'ai essayé d'utiliser .méthode push() sur l'Objet, mais .push() est une méthode de l'Objet Array.
- Il n'est pas possible que votre deuxième exemple fonctionne si vous êtes vraiment à l'initialisation de "trucs" comme vous le décrivez.
- peut-être que j'ai essayé exemple lorsque les choses ont été initialisé comme "var truc = [];". Je pense que vous avez raison, oui...
Vous devez vous connecter pour publier un commentaire.
.push()
est une méthode de la Intégré dans la gamme de l'ObjetIl n'est pas lié à jQuery en aucune façon.
De la définition d'un littéral Objet avec
Vous pouvez définir un littéral Tableau comme ce
puis
Tableaux réellement obtenir leur support de la syntaxe
stuff[index]
hérité de leurs parents, l'Objet. C'est pourquoi vous êtes capable de l'utiliser de la manière qui vous êtes dans votre premier exemple.C'est souvent utilisé pour l'effort de réflexion dynamique de l'accès aux propriétés
stuff
est un objet etpush
est une méthode d'un tableau. De sorte que vous ne pouvez pas utiliserstuff.push(..)
.Permet de dire que vous définissez
stuff
comme un tableaustuff = [];
ensuite, vous pouvez appelerpush
méthode.Cela fonctionne parce que l'objet[key/value] est bien formé.
stuff.push( {'name':$(this).attr('checked')} );
Alors que cela ne fonctionnera pas car l'objet n'est pas bien formé.
stuff.push( {$(this).attr('value'):$(this).attr('checked')} );
Cela fonctionne parce que nous sommes le traitement de
stuff
comme un tableau associatif des valeurs ajoutées et àstuff[$(this).attr('value')] = $(this).attr('checked');
stuff.push( {'name':$(this).attr('checked')} );
œuvres. Honnêtement, il ne devrait pas.il est donc facile)))
Regarder cette...
Et vous aurez:
Ou:
Vous aurez:
Ou:
Vous aurez:
Une autre façon de faire serait:
Lire la suite ici: Objet.assign()
C'est vraiment facile:
Exemple