Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/11/2011, 17h43   #1
Invité régulier
 
Inscription : août 2009
Messages : 32
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 32
Points : 6
Points : 6
Par défaut modifier un array

Bonjour,

Voilà, j'ai écrit un code (qui fonctionne bien) dans lequel je déclare des données.
Ces données sont des dates d'événements avec une description et sont classées par année, mois et jours.
Ensuite je récupère ces données et les affiche selon le mois en cours.

Comme je disais cela fonctionne parfaitement juste que par soucis de perfectionnement du code j'aimerais que quand des descriptions identiques sont appliquées à des jours qui se suivent, au lieu de devoir rentrer plusieurs fois ces données complètes il me soit possible de déclarer ces jours sur la même ligne.

J'ai essayé plusieurs options sans succès.
Voici le code actuel:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
var events = [
 
    {year: '2011', month: '11',day: '1',description: "description de test",url: '',newpage: false,evenement: false},
    {year: '2011', month: '11',day: '2',description: "description de test",url: '',newpage: false,evenement: false},
    {year: '2011', month: '11',day: '3',description: "description de test",url: '',newpage: false,evenement: false},	
    {year: '2011', month: '11',day: '4',description: "description de test",url: '',newpage: false,evenement: false},
	//J'aimerais remplacer les 4 lignes ci-dessus par quelque chose du genre:
  >>>>  {year: '2011', month: '11',(day: '1','2','3'),description: "description de test",url: '',newpage: false,evenement: false},
 
    {year: '2011', month: '11',day: '11',description: "Commémoration du 11 novembre",url: '',newpage: false,evenement: false},
    {year: '2012', month: '4',day: '30',description: "Lundi de Pâques",url: '',newpage: false,evenement: false},
    {year: '2012', month: '5',day: '1',description: "Fête du premier mai",url: '',newpage: false,evenement: false},
    {year: '', month: '',day: '',description: "",url: '',newpage: true,evenement: true} 
];
 
var temp_date=new Array(); //initialiser les données du mois en cours
var temp_url=new Array();
var temp_newpage=new Array();
var temp_evenement=new Array();
 
 for (var i = 0; i < events.length; i++) {  //je récuprére les données du mois ici
   if (events[i].year==cal_year && events[i].month==(cal_month + 1)){
	temp_date[events[i].day]=events[i].description;
	temp_url[events[i].day]=events[i].url;
	temp_newpage[events[i].day]=events[i].newpage;
	temp_evenement[events[i].day]=events[i].evenement;
  }
}
Ce sont les 4 premières déclarations à titre d'exemple que je voudrais remplacer par une ligne comme commentée en ligne 8 du code.

Quelqu'un pourrait-il m'aider.

Merci beaucoup

Gino
bk313142 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 20h07   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 776
Points : 4 776
Bonsoir,
tu peux déclarer un Array
Code :
1
2
3
4
5
6
7
8
9
{
  year: '2011',
  month: '11',
  day: ['1','2','3'],   // declaration d'un tableau
  description: "description de test",
  url: '',
  newpage: false,
  evenement: false
},
et étendre éventuellement aux mois, années.
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 20h25   #3
Invité régulier
 
Inscription : août 2009
Messages : 32
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 32
Points : 6
Points : 6
Citation:
Envoyé par NoSmoking Voir le message
Bonsoir,
tu peux déclarer un Array...
C'est bien ce que je pensais mais j'ai cru qu'il existait une solution plus "automatique" d'où ma recherche, car pour être franc j'ai testé cette option mais je n'ai pas réussi à récupérer les données avec le code tel qu'il existe.
(et cela me semble logique)
Je vais donc tenter (à nouveau) de modifier le code en fonction de ton conseil.
Je ne m'y retrouve plus trop...

Grand merci

Gino
bk313142 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 22h20   #4
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 776
Points : 4 776
Code :
1
2
3
4
5
6
7
var i, nb = events.length;
for( i=0; i < nb; i++){
  data = events[i].day;
  if( data.push){   // test si on est en presence d'un Array
    alert( data);
  }
}
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 16h24   #5
Invité régulier
 
Inscription : août 2009
Messages : 32
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 32
Points : 6
Points : 6
merci beaucoup pour ton aide précieuse NoSmoking.

Gino
bk313142 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h44.


 
 
 
 
Partenaires

Hébergement Web