Lieber Gunnar,
dich sollten http://de.selfhtml.org/javascript/sprache/bedingt.htm#switch@title=switch-Statements extrem interessieren...
Bei Intervallen??
warum nicht? Mit switch-Statements ist es immerhin strukturell logischer, als mit if-Statements.
switch (bmi) {
case bmi < 12:
[...]
break;
case bmi < 18 && bmi > 12:
[...]
break;
case bmi <= 18 && bmi >= 20:
[...]
break;
case bmi >= 20 && bmi < 25:
[...]
break;
case bmi >= 25 && bmi <= 29:
[...]
break;
case bmi < bmi >= 25 && bmi <= 29:
[...]
break;
case bmi >= 30 && bmi <= 39:
[...]
break;
case bmi >= 30 && bmi <= 39:
[...]
break;
case bmi >= 60:
[...]
break;
}
Zumindest würde damit die if-else-Verkettung entfallen. Dass das alles andere als "best practice" ist, ist mir klar. Ich hätte da eher eine Art Array gebastelt:
var bmi_messages = [
{
range : [0, 11.999],
message : "Die Eingabe ist Ungültig! Die Körpergröße bitte als Fließkommazahl mit einem Punkt statt einem Komma eingeben."
},
{
range : [12, 17.999],
message : "Ein Arztbesuch aufgrund ihres Untergewichts ist Unerlässlich"
},
{
range : [18, 19.999],
message : "Sie sind untergewichtig."
},
{
range : [20, 24.999],
message : "Ihr Gewicht ist gut, ein BMI von 22 ist optimal."
},
{
range : [25, 29.999],
message : "Sie sind etwas zu dick."
},
{
range : [30, 39.999],
message : "Sie sind stark übergewichtig."
},
{
range : [40, 59.999],
message : "Eine ärztliche Behandlung aufgrund ihres Übergewichts ist zu empfehlen."
},
{
range : [60, 999],
message : "Entweder sind sie extrem übergewichtig oder die Eingabe ist fehlerhaft."
}
];
Liebe Grüße,
Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)