Vous devrez être en mesure de pouvoir trier un objet JavaScript basé sur la clé.
Donc ce qui suit :
Deviendrait :
Vous devrez être en mesure de pouvoir trier un objet JavaScript basé sur la clé.
Donc ce qui suit :
Deviendrait :
Les objets JavaScript1 ne sont pas commandés. Il est inutile d'essayer de "trier". Si vous souhaitez effectuer une itération sur les propriétés d'un objet, vous pouvez trier les clés puis de récupérer les valeurs associées:
var myObj =
{
'b': 'asdsadfd',
'c': 'masdasaf',
'a': 'dsfdsfsdf'
},
keys = [],
k, i, len;
for (k in myObj)
{
if (myObj.hasOwnProperty(k))
{
keys.push(k);
}
}
keys.sort();
len = keys.length;
for (i = 0; i < len; i++)
{
k = keys[i];
alert(k + ':' + myObj[k]);
}
Suppléant de mise en œuvre à l'aide de Object.keys
fanciness:
var myObj =
{
'b': 'asdsadfd',
'c': 'masdasaf',
'a': 'dsfdsfsdf'
},
keys = Object.keys(myObj),
i, len = keys.length;
keys.sort();
for (i = 0; i < len; i++)
{
k = keys[i];
alert(k + ':' + myObj[k]);
}
http://jsfiddle.net/mattball/mvrWb
1ne Pas être pédant, mais il n'y a pas une telle chose comme un objet JSON.
Cela fonctionne pour moi
/**
* Return an Object sorted by it's Key
*/
var sortObjectByKey = function(obj){
var keys = [];
var sorted_obj = {};
for(var key in obj){
if(obj.hasOwnProperty(key)){
keys.push(key);
}
}
// sort keys
keys.sort();
// create new array based on Sorted Keys
jQuery.each(keys, function(i, key){
sorted_obj[key] = obj[key];
});
return sorted_obj;
};
Très bon exemple de tri des clés d’objet ici : Iterate sur un tableau associatif de Javascript dans un ordre trié
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.