UTILITAIRE DE DEBUGAGE DE TABLEAU MULTIDIMENTIONNEL
GhislainLavoie
Messages postés289Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention 3 avril 2008
-
30 août 2005 à 03:30
josh666
Messages postés81Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention 1 octobre 2007
-
31 août 2005 à 20:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
josh666
Messages postés81Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention 1 octobre 20071 31 août 2005 à 20:46
Merci bien pour ta nouvelle version sans limitation de niveau.
C vrai que j'aurais pu le faire de cette maniere dès le debut.. mais c'est simplement que je ne me suis aps casser la tete plsu qu'il faut et je lai fait seulement pour les 3 niveau que javais besoin.
Sur ce ++ et bon codage :)
GhislainLavoie
Messages postés289Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention 3 avril 20083 30 août 2005 à 04:27
GhislainLavoie
Messages postés289Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention 3 avril 20083 30 août 2005 à 03:30
Salut josh666,
Ton idée est bonne mais pour que le script soit utilisable dans tous les cas, je te sugère d'utiliser la récursion pour ne pas limiter l'affichage a 3 niveaux.
orga_array = new Array(1,788,32,4,3,4,32);
orga_array[2] = new Array(2,45674,34,5467,35,346);
orga_array[2][1] = new Array(67,34,7,32,78,2,556,7,12);
orga_array[2][1][2] = new Array(987,45,43,456,456,3465,34636,242);
orga_array[2][1][2][2] = new Array(87,789,7897,89,7975,54);
orga_array[2][1][2][2][0] = new Array(123,3213,2,21,1,31,31,3);
orga_array[2][1][2][2][0][4] = new Array(6776,7,6,756,575);
orga_array[3] = new Array(13,23,123);
debug(orga_array)
31 août 2005 à 20:46
C vrai que j'aurais pu le faire de cette maniere dès le debut.. mais c'est simplement que je ne me suis aps casser la tete plsu qu'il faut et je lai fait seulement pour les 3 niveau que javais besoin.
Sur ce ++ et bon codage :)
30 août 2005 à 04:27
J'ai fait une nouvelle version du script.
function debug(array){
if(debug.caller!=debug) {
contenu = "DEBUT ARRAY \n";
}
var indexParent = debug.arguments.length==2?debug.arguments[1]:"";
for(var x=0;x<array.length;x++)
if(IsArray(array[x]))
debug(array[x],(indexParent+"["+x+"]"));
else
contenu +indexParent.replace(/./g,'.') + 'array' + indexParent + '[' + x + '] ' + array[x] + "\n";
if (!indexParent) {
contenu += "FIN ARRAY \n";
alert(contenu);
}
}
A+, Ghislain
30 août 2005 à 03:30
Ton idée est bonne mais pour que le script soit utilisable dans tous les cas, je te sugère d'utiliser la récursion pour ne pas limiter l'affichage a 3 niveaux.
La fonction :
function debug(array){
if(debug.caller!=debug) {
contenu = "DEBUT ARRAY \n";
indexParent="";
stringNiveau = "";
}
for(var x=0;x<array.length;x++) {
if(IsArray(array[x])) {
var copindex = indexParent;
indexParent+="["+x+"]";
stringNiveau +="..";
debug(array[x]);
indexParent = copindex;
stringNiveau = stringNiveau.substr(0,stringNiveau.length-2);
}
else {
contenu +stringNiveau + 'array' + indexParent + '[' + x + '] ' + array[x] + "\n";
}
}
if (indexParent=="") {
contenu += "FIN ARRAY \n";
alert(contenu);
}
}
Un exemple d'utilisation :
orga_array = new Array(1,788,32,4,3,4,32);
orga_array[2] = new Array(2,45674,34,5467,35,346);
orga_array[2][1] = new Array(67,34,7,32,78,2,556,7,12);
orga_array[2][1][2] = new Array(987,45,43,456,456,3465,34636,242);
orga_array[2][1][2][2] = new Array(87,789,7897,89,7975,54);
orga_array[2][1][2][2][0] = new Array(123,3213,2,21,1,31,31,3);
orga_array[2][1][2][2][0][4] = new Array(6776,7,6,756,575);
orga_array[3] = new Array(13,23,123);
debug(orga_array)
A+, Ghislain