function GetValueForDomain(dom) {
var s;
arr = dom.split(".");switch ( arr.length ) {
case 1: s = domains[arr[0]]["EIGENSCHAFT"];
case 2: s = domains[arr[1]][arr[0]]["EIGENSCHAFT"];
case 3: s = domains[arr[2]][arr[1]][arr[0]]["EIGENSCHAFT"];
}alert (s);
}
du solltest dir mal die Funktionsweise von switch durchlesen.
Ich möchte aber das switch-Statement irgendwie durch eine Schleife ersetzen. Arr.Length könnte ja theoretisch sehr gross sein und ich möchte nicht für jede Länge ein case erstellen. Ist das Möglich?
Also mein Gefühl nach den ganzen Fragen ist, das dein Datenstruktur für deine speziellen Anwendungsfall nicht optimal ist.
Aber es geht.
function GetValueForDomain(dom) {
var arr = dom.split(".");
var check = domains[ arr.pop() ];
var last;
while( check = check[ arr.pop() ] )
{
last = check;
}
return last["EIGENSCHAFT"];
}
Struppi.