NEWS
Variablentypen in for … loop
-
Hallo zusammen,
nochmal eine Verständnisfrage zum typecasting.
hm_rega.11335 ist bei mir definiert als Zahl und wird auch durch typeof als solche bewertet.
Es enthält eine Liste von Werten:
"states": { "0": "Aus", "1": "...", "2": "blala", "3": "etc...", "4": "usw...", "5": "...",Diese Werte gehe ich nun in einer Schleife durch, um den passenden Match herauszufinden:
for ( var state in activityStates.common.states) { if ( activityStates.common.states[state] == currentActivity ) break; } if ( getState("hm-rega.0.11335").val != state ) { setState("hm-rega.0.11335", state); }Jetzt hätte ich erwartet, dass der index 'state' vom Typ number ist.
Nachdem ich nun aber die type-Warnung im Log bekommen habe, sagte mir ein typeof: Überraschung! state ist ein string.
Die Lösung kenne ich ja inzwischen: parseInt(state,10)
Aber kann mir jemand erklären, warum state als Indexvariable überhaupt ein string und kein integer ist?
Danke, Alex
-
…warum state als Indexvariable überhaupt ein string und kein integer ist? `
Wie ich das sehe: Es ist kein Index (in ein Array), sondern das Attribut eines Objekts. Wie man im Objekt sieht, sind diese in Anführungszeichen gesetzt. Anstelle von "0" könnte z.B. auch "x" stehen. -
"states": { "0": "Aus", "1": "...", "2": "blala", "3": "etc...", "4": "usw...", "5": "...",Aber kann mir jemand erklären, warum state als Indexvariable überhaupt ein string und kein integer ist?
Danke, Alex `
Damit es ein "number" wird, muss es so aussehen:{ 0: "Aus", 1: "...", 2: "blala", 3: "etc...", 4: "usw...", 5: "..." }; -
hm_rega.11335 ist bei mir definiert als Zahl und wird auch durch typeof als solche bewertet.
Es enthält eine Liste von Werten:
Code:
"states": {
"0": "Aus",
"1": "…",
"2": "blala",
"3": "etc...",
"4": "usw...",
"5": "...", `
Damit es ein "number" wird, muss es so aussehen:
Code:
{
0: "Aus",
1: "…",
2: "blala",
3: "etc...",
4: "usw...",
5: "..."
}; `
Ist das ein Fehler im hm-rega, dass der alles als String interpretiert?
siehe meinen Post mit influxDB und andere Posts mit javascript.
immer wieder bei rega Systemvariablen.
ggf. hier die Ursache?
http://forum.iobroker.net/viewtopic.php … 915#p26488
Gruß
Rainer
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
