JavaScript Integer in Enum umwandeln

In JavaScript ist es durchaus möglich Enums anzulegen:

var Protocol =
{ 
  PAMSG_REGISTER:0x0000, // D version, S username, S password, S email, S captcha response
  APMSG_REGISTER_RESPONSE:0x0002, // B error, S updatehost, S Client data URL, B Character slots
  PAMSG_UNREGISTER:0x0003, // S username, S password
}

Interessant wird es nun, wenn man versucht aus einer Zahl in diesem Beispiel der “2” wieder einen Enum (“APMSG_REGISTER_RESPONSE”) zu erzeugen. Hierbei hilft die Funktion “getEnumFromInteger” welche wie folgt aussieht:

function getEnumFromInteger(enumWithValues, integer)
{
  var keys = Object.keys(enumWithValues);
    
  for (var i=0; i<keys.length; i++)
  {
    if(enumWithValues[keys[i]]==integer) return keys[i];
  }
    
  return null;
}

Damit wird der Enum durchiteriert und der entsprechende Schlüssel, welcher dem Integer entspricht, zurückgegeben.


Dir gefällt dieser Beitrag und du möchtest helfen? Werde Mitglied und unterstütze mich.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.