Bonjour,

Je vous sollicite car j'ai un petit problème à régler. En fait, je pense pouvoir m'en sortir, mais ce ne serait vraiment pas optimisé, donc je voudrais savoir si il existe quelque chose de plus simple, léger et subtil

Donc voilà, j'ai dans un tableau des données du type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
var tabHoraires=["HoraireDebut1","HoraireFin1","HoraireDebut2","HoraireFin2", [...] "HoraireDebutn","HoraireFinn"]
J'aimerais pouvoir récupérer la position des différentes horaires pour lesquelles il y a des enchevêtrement d'horaires : je m'explique ->

Sois les horaires suivantes:
HoraireDebut - HoraireFin
1- 09h50 - 10h30
2- 10h50 - 12h10
3- 14h25 - 16h20
4- 11h15 - 17h15

Lecture des lignes:
1ère ligne: Ok
2ème ligne: Ok
3ème ligne: Ok
4ème ligne: Ah, je vois qu'une partie des horaires de la ligne 4 (11h15 - 17h15) sont déjà présentes dans la ligne 2 et 3 ( car 11h15 est compris entre 10h50 et 12h10, et que la plage 14h25- 16h20 est comprise dans la plage 11h15 - 17h15)
A ce moment, il faut que je récupère la positions des horaires erronées soit la position (dans le tableau) des horaires (10h50 - 12h10 / 14h25 - 16h20 / 11h15 - 17h15).

En fait, dès que j'ai un conflit dans une de mes périodes.

J'ai pensé à un tableau imbriqué dans un autre, comme ceci, mais j'ai des doutes sur son fonctionnement, et encore plus sur sa performance!

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
tabErreurs=[]	
 
for(var r=0;r<tabDate.length;r=r+2){
	for(var k=0;k<tabDate.length;k=k+2){
		if(r!=k){	
 
			if((tabDate[k]<tabDate[r+1] && tabDate[r+1]<tabDate[k+1]) || (tabDate[k]<tabDate[r] && tabDate[r]<tabDate[k+1])){ 
					tabErreurs.push(k)
						tabErreurs.push(r)								
			}				
		}			
	}	
}
Je vous remercie pour toute l'aide que vous pourrez m'apporter!