Hi,
allgemein w�rde ich, um die versch. Ebenen rauszufiltern bei jede Ebene die
einzelnen Zahlen extrahieren (als reale Zahl werden Sie nicht ben�tigt,
String reicht aus(und darf auch vorkommen), allerdings w�rde ich den
Vergleich nicht mitsamt dem Trennzeichen vornehmen)..
Dazu bietet sich nat. split(); an.
Nach diesem Punkt musst Du nur die aktuelle L�nge des Arrays(durch split)
mit der zu pr�fenden Vergleichen und danach noch die einzelnen Werte.
Bei Children ist der Test auf die Zeichen selbst beschr�nkt und damit auch
um einiges leichter ;) Du suchst einfach dem dem ersten Teilstring + "_"
(damit mehrstelligen Zahlen kein Problem bereiten) - sobald Du ihn an erster
Stelle gefunden hast, ists ein Child (oder Grandchild).
f�r beide Wege sollte das hier Beispielhaft ausreichend sein (geht bestimmt
noch viel sch�ner*g*):
var test1="1_4_1", test2="1_4_11_1_4_1_2";
var t1=test1.split(/_/g);
var t2=test2.split(/_/g);
var tlen=Math.min(t1.length, t2.length);
var showItem=false;
if(t2.length<=tlen){//ists ein brother oder eine sister (ist t2 leich lang
oder k�rzer)
showItem=true;
for(var i=0; i<tlen-1; i++){
if(t1[i]!=t2[i]){ //tu�s nicht ;)
showItem=false;
break;
}
}
}else{ //auch nach childs schauen(t2 ist l�nger)
if( /*t2.length-tlen<=1 && */test2.search(test1+"_", "")==0 ) //an erster
Stelle gefunden
showItem=true;
}
alert(showItem);
Ob der Rest danach rekursiv ist oder nicht ist ja 2-rangig.
Eins kam noch nicht aus Deinem Beispiel heraus. Willst Du alle Childs und
Grandchildren anzeigen oder nur die direkten Childs?? (obiges l�sst auch
Grandchildren zu, solange /*t2.length-tlen<=1 && */ ausgeklammert ist)
ciao,..
Wolfgang
~~~~~~~~~~~~~~~~~~~~~~~~~~~sponsored by United Planet~~~~~~~~~~~~~~~~~
Kaffeepause im United Planet Communityserver ...
http://www.intrexx.com/communityserver
_______________________________________________
Coffeehouse mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/coffeehouse