Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] Hilfreiche JavaScript-Funktionen

    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

    [Vorlage] Hilfreiche JavaScript-Funktionen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Matthias Stübner
      Matthias Stübner last edited by

      Ich möchte dateToString(), selbiges wird aber als unbekannt markiert. Muss ich, und wenn ja was, irgendein zusätzliches Modul/Adapter laden?

      Mic htrecksler 2 Replies Last reply Reply Quote 0
      • Mic
        Mic Developer @Matthias Stübner last edited by Mic

        @Matthias-Stübner
        Was meinst du genau mit "als unbekannt markiert"? Am besten bitte Logausgabe hier posten.
        Du brauchst keine weiteren Adapter ö.ä. hierfür.

        1 Reply Last reply Reply Quote 0
        • htrecksler
          htrecksler Forum Testing @Matthias Stübner last edited by

          @Matthias-Stübner das im Editor unterstrichen wird, kannst DU an der Stelle ignorieren.
          Es sollte dennoch wie erwartet funktionieren.

          moelski 1 Reply Last reply Reply Quote 0
          • moelski
            moelski @htrecksler last edited by

            Danke für die Funktionen !

            1 Reply Last reply Reply Quote 0
            • AlCalzone
              AlCalzone Developer last edited by

              clearStr stimmt nicht mit seiner Beschreibung überein:

              > String(null)
              'null'
              
              Mic 1 Reply Last reply Reply Quote 0
              • Mic
                Mic Developer @AlCalzone last edited by Mic

                @AlCalzone
                Danke für den Hinweis, hab die Funktion jetzt ersatzlos entfernt 😀
                Ist so "generisch" eher nicht zu gebrauchen, weil z.B. andere Datentypen (wie number) auch nicht behandelt werden und je nach Einsatzzweck was unterschiedliches zu prüfen ist.

                Christoph1337 1 Reply Last reply Reply Quote 0
                • Christoph1337
                  Christoph1337 @Mic last edited by

                  Moin zusammen,

                  ich habe mal versucht ein paar der Funktionen bei mir einzufügen.

                  Allerdings bekomme ich immer folgende Meldung:

                  script.js.common.Array compile failed: at script.js.common.Array:256

                  das komische. Das Script geht garnicht bis Zeile 256...

                  Auch wenn ich dann alle Zeilen aus kommentiere habe ich dieses Problem.

                  /**
                   * Remove Duplicates from Array
                   * Source - https://stackoverflow.com/questions/23237704/nodejs-how-to-remove-duplicates-from-array
                   * @param {array} inputArray       Array to process
                   * @return {array}  Array without duplicates.
                   */
                  
                  function GlobalarrayRemoveDublicates(inputArray) {
                      let uniqueArray;
                      uniqueArray = inputArray.filter(function(elem, pos) {
                          return inputArray.indexOf(elem) == pos;
                      });
                      return uniqueArray;
                  }
                  
                  /**
                   * Clean Array: Removes all falsy values: undefined, null, 0, false, NaN and "" (empty string)
                   * Source: https://stackoverflow.com/questions/281264/remove-empty-elements-from-an-array-in-javascript
                   * @param {array} inputArray       Array to process
                   * @return {array}  Cleaned array
                   */
                  /*
                  function GlobalcleanArray(inputArray) {
                    var newArray = [];
                    for (let i = 0; i < inputArray.length; i++) {
                      if (inputArray[i]) {
                        newArray.push(inputArray[i]);
                      }
                    }
                    return newArray;
                  }
                  */
                  /**
                   * Removing Array element(s) by input value. 
                   * @param {array}   arr             the input array
                   * @param {string}  valRemove       the value to be removed
                   * @param {boolean} [exact=true]    OPTIONAL: default is true. if true, it must fully match. if false, it matches also if valRemove is part of element string
                   * @return {array}  the array without the element(s)
                   */
                  /*
                  function GlobalarrayRemoveElementsByValue(arr, valRemove, exact) {
                   
                      if (exact === undefined) exact = true;
                   
                      for ( let i = 0; i < arr.length; i++){ 
                          if (exact) {
                              if ( arr[i] === valRemove) {
                                  arr.splice(i, 1);
                                  i--; // required, see https://love2dev.com/blog/javascript-remove-from-array/
                              }
                          } else {
                              if (arr[i].indexOf(valRemove) != -1) {
                                  arr.splice(i, 1);
                                  i--; // see above
                              }
                          }
                      }
                      return arr;
                  }
                  */
                  /**
                   * Checks if Array or String is not undefined, null or empty.
                   * 08-Sep-2019: added check for [ and ] to also catch arrays with empty strings.
                   * @param inputVar - Input Array or String, Number, etc.
                   * @return true if it is undefined/null/empty, false if it contains value(s)
                   * Array or String containing just whitespaces or >'< or >"< or >[< or >]< is considered empty
                   */
                  /*
                  function GlobalisLikeEmpty(inputVar) {
                      if (typeof inputVar !== 'undefined' && inputVar !== null) {
                          let strTemp = JSON.stringify(inputVar);
                          strTemp = strTemp.replace(/\s+/g, ''); // remove all whitespaces
                          strTemp = strTemp.replace(/\"+/g, "");  // remove all >"<
                          strTemp = strTemp.replace(/\'+/g, "");  // remove all >'<
                          strTemp = strTemp.replace(/[+/g, "");  // remove all >[<
                          strTemp = strTemp.replace(/]+/g, "");  // remove all >]<
                          if (strTemp !== '') {
                              return false;
                          } else {
                              return true;
                          }
                      } else {
                          return true;
                      }
                  }
                  */
                  
                  Christoph1337 liv-in-sky AlCalzone 3 Replies Last reply Reply Quote 0
                  • Christoph1337
                    Christoph1337 @Christoph1337 last edited by

                    Hab es selber gelöst:

                    /** 
                     * Checks if Array or String is not undefined, null or empty.
                     * 08-Sep-2019: added check for [ and ] to also catch arrays with empty strings.
                     * @param inputVar - Input Array or String, Number, etc.
                     * @return true if it is undefined/null/empty, false if it contains value(s)
                     * Array or String containing just whitespaces or >'< or >"< or >[< or >]< is considered empty
                    */
                    
                    function GlobalIsLikeEmpty(inputVar) 
                    {
                        if (typeof inputVar !== 'undefined' && inputVar !== null) {
                            let strTemp = JSON.stringify(inputVar);
                            strTemp = strTemp.replace(/\s+/g, ''); // remove all whitespaces
                            strTemp = strTemp.replace(/\"+/g, "");  // remove all >"<
                            strTemp = strTemp.replace(/\'+/g, "");  // remove all >'<
                            strTemp = strTemp.replace(/[+/g, "");  // remove all >[<
                            strTemp = strTemp.replace(/]+/g, "");  // remove all >]<
                    
                            if (strTemp !== '') {
                                return false;
                            } else {
                                return true;
                            }
                        } else {
                            return true;
                        }
                    }
                    
                    1 Reply Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky @Christoph1337 last edited by liv-in-sky

                      @christoph1337 sagte in [Vorlage] Hilfreiche JavaScript-Funktionen:

                      {1}

                      da sind diese {1}
                      drin - da ist evtl was beim kopieren schiefgegangen

                      lösche die mal raus

                      1 Reply Last reply Reply Quote 0
                      • AlCalzone
                        AlCalzone Developer @Christoph1337 last edited by

                        @christoph1337 sagte in [Vorlage] Hilfreiche JavaScript-Funktionen:

                        Das Script geht garnicht bis Zeile 256...

                        Hast du globale Skripte?

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        533
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        javascript
                        10
                        23
                        11629
                        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