Ajouter plusieurs attributs à un objet js
Je veux ajouter plusieurs attributs d'un objet existant avec les attributs existants. Est-il une manière plus concise qu'une ligne par nouvel attribut?
myObject.name = 'don';
myObject.gender = 'male';
Tout sur MDN montre comment faire de nouveaux objets avec support de la notation, mais pas les objets existants: https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Working_with_Objects
Vous pourriez faire une fonction qui reçoit un objet et un objet avec les nouveaux objets/valeurs, et énumère le nouvel objet, la mise à jour de l'ancien. Ça va être un peu plus concis.
update(obj, {name:"don", gender:"male"})
OriginalL'auteur Don P | 2013-05-07
Vous devez vous connecter pour publier un commentaire.
De Comment puis-je fusionner les propriétés de deux objets JavaScript de façon dynamique?
MODIFIER
À être un peu plus clair sur la façon dont vous pouvez étendre Objet pour utiliser cette fonction:
Utilisation:
Remarque: Vous avez certainement pu mettre en œuvre un flexible de conflit de fusion de la stratégie en fonction de vos besoins.
OriginalL'auteur Steven Wexler
Dans l'ES6/ES2015 vous pouvez utiliser l'Objet.méthode assign
OriginalL'auteur Ed Barahona
Parfois, je le fais comme ceci:
OriginalL'auteur letiagoalves
Utiliser la bibliothèque jQuery
Cette question n'est pas étiqueté jquery.
jQuery juste pour l'extension d'un objet est stupide.
OriginalL'auteur zavg
Dans ECMAscript 5, vous pouvez nous faire de defineProperties:
Ouais, je suppose que vous avez raison, cela a plus à utiliser lorsque vous voulez vous protéger contre la mutation de vos objets. Hehe,j'ai toujours le faire... =P
Je suis d'accord. C'est une fonctionnalité intéressante, juste maladroit.
Aussi la peine de vérifier l'ECMAScript v5 compatibilité du navigateur en fonction de votre public cible - kangax.github.io/es5-compat-table - dans ce cas, rien en dessous de IE9.
OriginalL'auteur JimmyRare