NEWS
Gelöst: Anfänger-Frage zu Schleifen
-
Moin,
ich habe eine Frage um zu lernen, wie man so etwas richtig machen würde als JS Fortgeschrittener.
Als Beispiel nehme ich mal ein willkürliches Skript (ist nix produktives, geht mir nur ums lernen).if ( !existsState(WERT1 )) { createState(WERT1,'0')}; if ( !existsState(WERT2 )) { createState(WERT2,'0')}; if ( !existsState(WERT3 )) { createState(WERT3,'0')};
Es sind praktisch immer die gleichen states die angelegt werden sollen (wenn nicht vorhanden), nur der numerische Wert des state-Namens ändert sich.
Als Noob schreibe ich die wie oben alle untereinander, funktioniert ja, also Thema erledigt.
Wie macht das ein Profi? Ich denke mit einer kurzen Schleife, aber wie wird so etwas aufgebaut?
Ich habe aus anderen Projekten Schleifen, die ich mal irgendwo herauskopiert und solange angepasst habe, bis sie funktionierten, aber deren Aufbau hilft mir hier leider gerade nicht.
Kann mir jemand kurz auf die Sprünge helfen bei der wahrscheinlich wirklichen Anfänger Frage?Gruß aus dem Norden
-
@smartin sagte: Schleife, aber wie wird so etwas aufgebaut?
Beispiel:
const ids = ['id1','id2','id3']; for(let i = 0; i < ids.length; i++) { if(!existsState(ids[i])) createState(ids[i], 0, {type:'number', def:0}); }
-
Danke @paul53
Das kann ich nachvollziehen und hilft mir sehr.
Eine Frage noch dazu:const ids = ['id1','id2','id3'];
Damit werden die verschiedenen konstanten Variablen gesetzt, schon klar.
Wie müsste dies aussehen, wenn die States in DP geschrieben werden sollen und nicht nur temporär im Script verwendet werden?
Zum Beispiel unter 0_userdata.0.Test -
@smartin sagte: Damit werden die verschiedenen konstanten Variablen gesetzt
Nein, damit werden die Datenpunkt-IDs in ein Array eingetragen.
@smartin sagte in Anfänger-Frage zu Schleifen:
Beispiel unter 0_userdata.0.Test
const ids = ['0_userdata.0.Test.DP1','0_userdata.0.Test.DP2','0_userdata.0.Test.DP3'];
-
@paul53
Alles klar, sehr lehrreich!
Danke, damit ist das dann auch schon gelöst hier.