Felix Riesterer: Toter Button

Beitrag lesen

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:)