Je collectionne en série des informations à partir de formulaires dans des tableaux comme ceci:fusion tableaux javascript pour JSON
list = {"name" : "John", "email" : "[email protected]", "country" : "Canada", "color" : "blue"};
identifier = "first_round";
list = {"name" : "Harry", "email" : "[email protected]", "country" : "Germany"};
identifier = "second_round";
Je veux les combiner en quelque chose (je peux avoir des accolades où j'ai besoin entre parenthèses) comme:
list_all = {
"first_round" :
{"name" : "John", "email" : "[email protected]", "country" : "Canada", "color" : "blue"} ,
"second_round" :
{"name" : "Harry", "email" : "[email protected]", "country" : "Germany"}
};
pour que je puisse y accéder comme:
alert(list_all.first_round.name) -> John
(note: le nom des valeurs ("nom", "email", "couleur") dans les deux liste les arguments ne sont pas tout à fait les mêmes, le nombre d'éléments dans chaque liste est limité mais inconnu à l'avance; Je dois ajouter en série un seul tableau à la structure précédente à chaque tour et il peut y avoir un certain nombre de tours, c'est-à-dire "troisième tour": {...}, "quatrième tour": {...} et ainsi de suite En fin de compte, je voudrais qu'il soit bien analysé pour JSON. J'utilise la librairie jquery, si cela peut vous aider.
Sur un Sidenote, si vous énumérer les propriétés de list_all comme dans 'pour (clé var dans list_all)', l'ordre de les propriétés ne sont pas garanties. Vous pouvez obtenir "second_round" avant "first_round" même si "first_round" a été défini en premier. Utilisez un tableau à la place si vous voulez que la commande soit conservée. Voir - http://stackoverflow.com/questions/648139/is-the-order-of-fields-in-a-javascript-object-predicatble-when-looping-through-th – Anurag
Mais quand est l'ordre des propriétés sur un objet important d'une manière quelconque? Si l'ordre est important, alors Array est le type à utiliser. –
@Sean - Lorsque vous voulez un accès direct aux éléments avec une clé, mais en même temps, vous voulez parcourir tous les éléments dans l'ordre. Il n'est pas absurde de penser que quelqu'un pourrait le vouloir - Ruby a changé l'implémentation de Hash en 1.9 pour garantir la commande parce que quelqu'un le voulait. – Anurag