Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
30
31
32
33
34
35
36
37
38 /* * beginWithArray( array, arrayOfArrays ) * * Détecte si l'un des array d'un array d'array débute * avec le contenu d'un autre array. * * Daniel Hagnoul * * Code v1.0.0 2013-01-18 * * Retourne un array contenant deux éléments : true * et l'index de l'array trouvé (celui qui commence * avec l'array recherché) ou false et -1 en cas * d'échec. * * Ne détecte pas si les éléments sont contenus dans * le désordre ou si les éléments sont présents dans * l'ordre, mais pas au début. */ function beginWithArray( array, arrayOfArrays ){ var tabBool = [], result = [ false, -1 ]; $.each( arrayOfArrays, function( i, item ){ $.each( array, function( j, jtem ){ tabBool.push( jtem == item[ j ] ); }); if ( $.inArray( false, tabBool ) == -1 ){ result = [ true, i ]; return false; // pour sortir du each ! } tabBool = []; }); return result; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 var combinaisons = [ [1,1,1,1,0,0,1,1,1,1], [1,1,1,1,1,0], [1,1,1,1,0,1,1,1,0,1,1,0], [1,1,0,1,1,0], [1,1,0,1,0,1] ], saisiecomb1 = [1,1,1,1,0,1], saisiecomb2 = [1,1,0,1,1,1]; console.log( beginWithArray( saisiecomb1, combinaisons ) ); console.log( beginWithArray( saisiecomb2, combinaisons ) );
Partager