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. -
Ah, danke!
-
"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
-
Ist das ein Fehler im hm-rega, dass der alles als String interpretiert? `
Nein, hm-rpc macht es genauso.