0 0 Stimmen

JavaScript: Wie komme ich an die Texte (Zeilen) eines existierenden Arrays?

Frage von Eberhard Schulz | 11.08.2017 um 15:24 Uhr

Ich habe (in eine php-datei) u.a. (jQuery + Fancy Box) eine eigene js-datei eingebunden, in der 16 Arrays enthalten sind.

Schreibe ich den Array-Namen direkt in den JScript-Bereich rein, werden die Texte ausgelesen - perfekt (sind Caption-Werte für eine Fancy-Box-Gallerie).

Ersetze ich jetzt den 'hart codierten' Namen durch eine Variable (sie enthält natürlich exakt den Bezeichner des Array), funktioniert dieser Part nicht mehr.

So geht es: (Array heisst: Fue2)

var x = ... + 'data-fancybox="group" data-caption="'+ Fue2[ i -1] + ...

und so NICHT: ... data-caption="' + bereich[ i -1] + ...

AntwortenPositivNegativDatumStimmen

Progger99

Profil anzeigen | Nachricht
Avatar
1Beste Antwort
1 Stimme

Wenn ich dich richtig verstehe möchtest du folgendes machen:

var bereich = 'Fue2';   // Fue2 ist der Name eines Arrays
var x = bereich[i - 1]; // Zugriff auf den Array

Das funktioniert deswegen nicht, weil die Variable "bereich" in diesem Fall zu einem String (Text) wird. Und mit bereich[] greifst du dann auf die einzelnen Buchstaben dieser Zeichenkette zu.

Wenn du über den Namen des Arrays zugreifen willst, kannst du es so machen:

var arr = [1, 2, 3];         // Array definieren

alert(arr[1]);               // Normaler Zugriff über arr[]

var val = window['arr'][1];  // Zugriff über den Namen

alert(val);                  // Ausgabe

Wichtig: Das funktioniert nur für globale Variablen die unterhalb von "window" erreichbar sind. Innerhalb von Funktionen haben wir keinen Zugriff über den Namen.
11.08.2017 um 17:25 Uhr

AntwortenPositiv Negativ

Eberhard Schulz

Profil anzeigen | Nachricht
Avatar
11 Stimme

Suuuuper !!! - Ganz herzlichen Dank!

Jetzt funktioniert dieser Part.

Ich hab's versehentlich zuerst innerhalb einer Funktion probiert (denn die Arrays werden ja im globalen Bereich rein geholt !)

Aber du hattest ja so recht - das wurde nichts. Jetzt wird es außen 'geholt' und an die Funktion per Parameter weiter gegeben.

Vielen Dank - bis zum nächsten mal.
11.08.2017 um 19:15 Uhr

Positiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.