Comment concaténer des propriétés de plusieurs objets JavaScript

Je suis à la recherche de la meilleure façon "d'ajouter" plusieurs objets JavaScript (tableaux associatifs).

Par exemple, étant donné:

a = { "one" : 1, "two" : 2 };
b = { "three" : 3 };
c = { "four" : 4, "five" : 5 };

quelle est la meilleure façon de calculer:

{ "one" : 1, "two" : 2, "three" : 3, "four" : 4, "five" : 5 }
  • Une sémantique remarque: malgré le [] de la syntaxe, ils ne sont pas des tableaux à tous. L'ordre n'est pas vraiment garantie.
  • Itération de l'ordre n'est pas garanti par les normes ecma. Mais c'est la façon dont il est mis en œuvre dans la plupart des navigateurs. (À partir de John Resig) Ce comportement est explicitement pas défini par la spécification ECMAScript. ECMA-262, section 12.6.4: La mécanique de l'énumération des propriétés ... est dépendant de l'implémentation. Toutefois, la spécification est tout à fait différente de la mise en œuvre. Toutes les implémentations modernes de ECMAScript itérer sur les propriétés de l'objet dans l'ordre dans lequel elles ont été définies. Pour cette raison, le Chrome, l'équipe a jugé que ce soit un bug et de le réparer.
InformationsquelleAutor Vlad | 2010-03-16