J'ai JS objet défini comme suit: -objet JS tri tri Date
var item = {};
item[guid()] =
{
symbol: $('#qteSymb').text(),
note: $('#newnote').val(),
date: $.datepicker.formatDate('mm/dd/yy', dt) + " " + dt.getHours() + ":" + minutes,
pagename: getPageName()
};
À un certain moment dans mon application, je reçois une liste de ceux (Items
) de retour de chrome.storage et je voudrais être capable de trier en fonction de la date
Voici ce que je fais
var sortable = [];
$.each(Items, function (key, value) {
if (value.symbol == $('#qteSymb').text() || all) {
sortable.push([key, value]);
}
});
console.log(sortable);
sortable.sort(function (a, b) {
a = new Date(a[1].date);
b = new Date(b[1].date);
return a > b ? -1 : a < b ? 1 : 0;
});
console.log(sortable);
il ne semble pas fonctionner. Le premier et le deuxième console.log(sortable);
est le même. Je l'ai essayé de changer return a > b ? -1 : a < b ? 1 : 0;
-return a < b ? -1 : a > b ? 1 : 0;
juste pour voir si je reçois tout changement sortable
, mais rien ne se passe ... Merci ~
Je suggère que l'horodatage de stockage 'dt.getTime()' aussi bien et simplement la trier comme: 'revenir a [2] - b [2]; ' – kirilloid
Avez-vous vérifié que vous obtenez réellement les objets desiredDate de' new Date (a [1] .date) '? -> utilisez 'console.log (a.toString() + 'et' + b.toString())' dans la fonction. – cars10m