Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [Gelöst] Listen durchforsten u. bestimmte Elemente entfernen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Gelöst] Listen durchforsten u. bestimmte Elemente entfernen

    This topic has been deleted. Only users with topic management privileges can see it.
    • DAN78
      DAN78 last edited by DAN78

      Update: Habe die Einzelnen Filter in Funktionen gepackt

      Hallo zusammen,
      Ich möchte in einem Blockly Skrypt eine Liste durchsuchen und im Anschluss "ungeeignete" Elemente entfernen lassen.
      Im Grunde ist es mir gelungen eine funktionierende Lösung zu finden.
      Sicherlich gibt es bessere Lösungen für diese Aufgabenstellung. Kann leider kein JavaScript bzw. nur ein wenig mit Blockly.
      Kann mich jemand bei diesem Anliegen ein wenig weiterhelfen?
      Da ich mehrere von diesen Filter brauche, würde das Skript sehr lang werden.

      Blockly.jpg

      Im Forum mit Suche nach"Liste" habe ich keine passenden Einträge spezifisch zu solch einer Anwendung finden können.
      Des weiteren wollte ich noch fragen ob es irgendwie möglich ist ist, einer Zeit [SS:mm:ss] 30 Minuten zu addieren ohne den Umweg über Sekunden/Minuten seit Tagesbeginn oder DatumObjekt zu gehen.

      Gruß: Daniel

      H 1 Reply Last reply Reply Quote 0
      • H
        h07d0q @DAN78 last edited by

        @DAN78
        Ich bin aktuell auf das gleiche Problem gestoßen, dass ich aus einer Liste einen bekannten Wert löschen wollte und so einen Block nicht gefunden habe. Man könnte natürlich eine Schleife drüber laufen lassen und falls der Wert dem gesuchten Wert entspricht, die betroffene Stelle aus der Liste entfernen.
        Die Javascript Lösung sieht so aus:

        var arr = ['three', 'seven', 'eleven'];
        var filteredArray = arr.filter(e => e !== 'seven')
        

        Letztendlich wird auch hier wie ich verstehe das Array durchlaufen und ein neues ohne den gesuchten Wert erzeugt, es sei aber wohl schneller als mit der slice Funktion von Javascript.
        Man könnte das in einen Javascript Block mit Ergebnis packen, oder aber man führt einen neuen Block ein?
        4261f9af-d1c6-4a82-849a-eed62adb11fd-image.png
        in der Funktion steckt:

        liste.filter(e => e !== filter);
        

        Wenn man die ursprüngliche Liste nicht verlieren möchte, muss man das Ganze so machen:
        bbd69e00-f4fc-43cd-994d-354faf3713b5-image.png
        in der Funktion steckt:

        var f = liste.filter(e => e !== filter);
        return f;
        

        Ich hoffe ich kann dem ein oder anderen helfen, der auf diesen Post stößt.

        1 Reply Last reply Reply Quote 1
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        978
        Online

        31.9k
        Users

        80.2k
        Topics

        1.3m
        Posts

        2
        2
        607
        Loading More Posts
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes
        Reply
        • Reply as topic
        Log in to reply
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        The ioBroker Community 2014-2023
        logo