Bonjour,
Je suis débutant en javascript (il s'agit de ma première tentative de code dans ce langage). Je travaille sur une page déjà codé dont je ne suis pas l'auteur dans laquelle un tableau contenant des dates est généré par un array. Il y a un bouton sur cette page permettant de classer le tableau en fonction du contenu des colonnes, et donc des dates.
Pour que ce truc fonctionne, il faut donc écrire les dates soient écrites à l'envers du style 2010/05/28, mais j'aimerais bien que les dates soient affichées à l'endroit et qu'il soit tout de même possible de classer le tableau par date.
Je me suis donc dit que je pourrais écrire les dates dans le tableau en timestamp et les convertir à l'affichage avec la fonction Date().
J'ai écris donc ce truc (qui à ma grande surprise est fonctionnel)
data étant le nom de l'array contenant les lignes du tableaux (dont le contenu de ces lignes sont également dans un array, c'est imbriqué).
Ça fonctionne, je peux classer les lignes du tableau par date, mais l'affichage des dates ressemble à Fri Jan 01 2010 12:00:00 GMT+0100 (CET), je sais que je pourrais utiliser les méthodes comme getFullYear() pour extraire les éléments de dates, mais une fois réinscrite dans le tableau, je perds les informations de date et il devient impossible de les classer chronologiquement.
J'ai beaucoup de mal à lire le code (très très peu commenté, et je maîtrise pas super bien le langage pour le comprendre facilement) et à identifier la façon dont l'array est classé et affiché dans la page, donc je me demandais s'il n'y avait pas un quelconque moyen de modifier le rendu de la date sans modifier intrinsèquement le contenu du tableau, et ainsi pouvoir quand même classer ces fichus lignes.
Merci d'avance si vous pouvez m'aider.[/i][/i][/i][/i]
Modifié par Goldysama (28 May 2010 - 21:09)
Je suis débutant en javascript (il s'agit de ma première tentative de code dans ce langage). Je travaille sur une page déjà codé dont je ne suis pas l'auteur dans laquelle un tableau contenant des dates est généré par un array. Il y a un bouton sur cette page permettant de classer le tableau en fonction du contenu des colonnes, et donc des dates.
Pour que ce truc fonctionne, il faut donc écrire les dates soient écrites à l'envers du style 2010/05/28, mais j'aimerais bien que les dates soient affichées à l'endroit et qu'il soit tout de même possible de classer le tableau par date.
Je me suis donc dit que je pourrais écrire les dates dans le tableau en timestamp et les convertir à l'affichage avec la fonction Date().
J'ai écris donc ce truc (qui à ma grande surprise est fonctionnel)
var n = 0
for (var i=0; i<data.length; i++) {
if (isNaN(data[i][i][n])) {
} else {
var dateTexte = new Date(data[i][n] * 1000);
data[i][n] = dateTexte ;
}
}
data étant le nom de l'array contenant les lignes du tableaux (dont le contenu de ces lignes sont également dans un array, c'est imbriqué).
Ça fonctionne, je peux classer les lignes du tableau par date, mais l'affichage des dates ressemble à Fri Jan 01 2010 12:00:00 GMT+0100 (CET), je sais que je pourrais utiliser les méthodes comme getFullYear() pour extraire les éléments de dates, mais une fois réinscrite dans le tableau, je perds les informations de date et il devient impossible de les classer chronologiquement.
J'ai beaucoup de mal à lire le code (très très peu commenté, et je maîtrise pas super bien le langage pour le comprendre facilement) et à identifier la façon dont l'array est classé et affiché dans la page, donc je me demandais s'il n'y avait pas un quelconque moyen de modifier le rendu de la date sans modifier intrinsèquement le contenu du tableau, et ainsi pouvoir quand même classer ces fichus lignes.
Merci d'avance si vous pouvez m'aider.[/i][/i][/i][/i]
Modifié par Goldysama (28 May 2010 - 21:09)