Array einbinden

  • Hallo, ich komme nicht weiter.

    ich habe ein Script, das ein langes Array enthält. Ich möchte das Array ausserhalb des Scripts platzieren und es im Script einbinden.

    Und könnte ich das Array auch von einer externe TextDatei ins Script laden?


  • Du kannst auch dabei bleiben, das Array in Javascript-Syntax in einer getrennten Datei zu definieren, dann kannst Du diese einbinden wie jedes andere Javascript auch.

    Ein anderes bewährtes Verfahren ist, das Array im JSON-Format in einer .json-Datei zu definieren. Diese kannst Du dann serverseitig mit PHP einbinden und den Inhalt in ein Array umsetzen. Prinzipiell wäre es auch möglich, sie mit Javascript und fetch zu holen aber in diesem Fall unnötig kompliziert.

  • Danke euch,

    Für mich wäre es zunächst wichtig, das array von oben (im Dokument) ins script zu holen.

    Folgendes geht offenbar nicht, x wird nicht als array erkannt:

    HTML
    1. <html>
    2. <div id="Arr">[e1,e2,e3]</div>
    3. <script>
    4. var x = document.getElementById("Arr")
    5. </script>
    6. </html>
  • Das wäre eine unkonventionelle Methode, aber - na gut:

    Du kannst den Text mit textContent einlesen und dann mit JSON.parse parsen bzw. in ein Array umwandeln:

    Code
    1. const pArr = document.getElementById("Arr");
    2. const text = pArr.textContent;
    3. let arr = JSON.parse(text);
    4. console.log(arr);

    So wie Du das Array dort notiert hast, funktioniert es nur, wenn Du die Elemente in Gänsefüßchen setzt oder rein numerische Werte verwendest:

    Code
    1. <p id="Arr">["e1",2,"e3"]</p>