title image


Smiley Array rekursiv durchlaufen und ausgeben.
Ich möchte mir ähnlich wie beim php-Befehl print_r den Inhalt eines evtl. verschachtelten Array zurückgeben lassen. Dabei soll die Aussgabe foldendermaßen sein:



myarr = new Array("a", "b", "c");

--> Arr[3](a b c)



oder myarr = new Array("a", new Array("b","c","d"), "e");

--> Arr[3](a Arr[3](b c d) e);



wobei in [] immer die länge des Array steht, und in () dahinter die einzelnen Elemente - wobei ein einzelnes Element seinerseits wieder ein Array sein kann. Ich hab es folgendermaßen versucht:





function print_r( myarr, ebene ){

if(ebene == null) ebene = 0

if( typeof(myarr) != "object" ){

output = ' '+myarr+' ' ;

}

else {

arrlen = myarr.length;

output =' Arr['+arrlen+'](';

for(i=0 ; i < arrlen ; i++){

output = output + print_r( myarr[i], ebene+1 );

}

output =output + ')';

}

return output;

}





Leider wird dabei das letzte Element nicht mehr ausgegeben - die

Ausgabe sieht folgendermaßen aus:



Arr[3]( a Arr[3]( b c d ))



Sieht jemand wo der Fehler liegt ?

Hat jemand evtl. schon ein fix-und-fertig Skript für diesen Zweck greifbar ??



Danke im voraus !

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: