Antworten auf deine Fragen:
Neues Thema erstellen

js-Array()?

saila

Moderatorle

Hi,

eine Frage zu Array unter JS.

An eine Funktion wird ein String übergeben. Per exec wird dieser entsprechend zerlegt und sollte eine integer zurückliefern. Dieser Wert soll nun mit den Inhalten eines (zB.) Array(1, 4, 6) verglichen werden und bei Übereinstimmung true oder false liefern.

Wie ist sowas umzusetzen? Bzw. ich brauche ein kleines Beispiel um zu prüfen wo in meinem Teil der Fehler liegen könnte.
 

AW: js-Array()?

Code:
var xy = 0;
var test = new Array('data1', 'data2', 'data10');

function retW(a, b) {
    if(a && a == test[b]) {
        xy = 1;
    }
}
Das als Beispiel. Meine Funktion ist zwar umfangreicher, wobei es lediglich um das Ermitteln eines Wertes innerhalb des Array geht. Sprich ist der Wert b innerhalb des Array.

b hat z.B. den String data11
 
AW: js-Array()?

Code:
var xy = 0;
var test = new Array('data1', 'data2', 'data10');

function retW(a, b) {
    if(a && a == test[b]) {
        xy = 1;
    }
}
Das als Beispiel. Meine Funktion ist zwar umfangreicher, wobei es lediglich um das Ermitteln eines Wertes innerhalb des Array geht. Sprich ist der Wert b innerhalb des Array.

b hat z.B. den String data11


Ich würde das nicht über eine globale Var erledigen, da du sagtest es soll zurück gegeben werden reicht es ja aus true oder false zurück zu geben.

Code:
var test = new Array('data1', 'data2', 'data10');

function retW(a, b) {
    return (a == test[b]);
}
 
AW: js-Array()?

Wenn ich das so umsetze, erfolgt die Meldung Objekt erwartet oder nicht vorhanden. Egal ob der übergebene Wert im Array vorhanden ist oder nicht.
 
AW: js-Array()?

b muss in dem oben genannten Fall 0,1 oder 2 sein.
a natürlich data1, data2 oder data10

und test muss vor der Funktion und dem Funktionsausruf deklariert worden sein.
 
AW: js-Array()?

Ok. Aber b ist ein Wert, welcher mit dem Array abgeglichen werden muss. Sprich b ist nicht 0,1,2 (also ein Zeiger für das Array) sondern ein String-Wert.
 
AW: js-Array()?

ok dann versteh ich den Sinn der Funktion nicht.

Du willst 2 Werte übergeben. a und b.

a enthält einen Inhalt von einem Element aus dem Array.

b auch.

Was willst du jetzt geprüft haben ?
 
AW: js-Array()?

Klar - blödsinn. Bin schon ganz schugge. In die Funktion wird lediglich a übergeben. Nun soll geprüft werden, ob a auch im Array enthalten ist. Da a ein String ist, kann ich nicht mit 0,1,2... prüfen.


var xy = 0;
var test = new Array('data1', 'data2', 'data10');

function retW(a) {
if(a && a == test[a]) {
xy = 1;
}
}
 
AW: js-Array()?

Klar - blödsinn. Bin schon ganz schugge. In die Funktion wird lediglich a übergeben. Nun soll geprüft werden, ob a auch im Array enthalten ist. Da a ein String ist, kann ich nicht mit 0,1,2... prüfen.


var xy = 0;
var test = new Array('data1', 'data2', 'data10');

function retW(a) {
if(a && a == test[a]) {
xy = 1;
}
}

ok das mach schon mehr sinn :D

Code:
function retW(a) {
  for (i=0;i<test.length;i++) {
    if (a == test[i]) return i;
  }
  return -1;
}
du kannst das ganze natürlich auch globaler gestallten, um in Zukunft eine solche Funktion erneut zu benutzen:

Code:
function in_array(search,array) {
  for (i=0;i<array.length;i++) {
    if (search == array[i]) return true;
  }
  return false;
}


function retW(a) {
  return in_array(a,test);
}
 
Zuletzt bearbeitet:
AW: js-Array()?

Wenn ich es richtig verstehe willst du quasi ne in_array()-Prüfung, welche dir, wenn der Wert im Array gefunden wird, den Index im Array zurückliefert oder?

Würde ich spontan jetzt so lösen:

Code:
Array.prototype.in_array = function(needle) {
    for(var i = 0; i < this.length; i++) {
        if(this[i] === needle) {
            return i;
        }
    }
    return -1;
}
Aufrufen dann eigentlich bloß noch mit:

Code:
test.in_array('data11');

[edit]
Ok wir nähern uns der selben Lösung. ;)
 
AW: js-Array()?

Ok - passt. Danke.

Nun nur noch die Frage, wie greift man im Syomfony-Framework innerhalb des frontend auf eine Session-Variable zu (wenn möglich mit einer API-Funktion)? sf_user geht nicht, da nicht vorhanden. Allerdings ist getUser vorhanden und darin sind auch die entsprechend gesuchten Werte. Allerdings unter parameters und wie man darauf zugreifen kann - - bislang habe ich noch keine Info hierzu gefunden......
 
AW: js-Array()?

ich empfehle für dein vorhaben mal das hier:



sucht in nem array einen wert. wenn er vorhanden ist, wird die arrayposition ausgegeben.
wenn nicht wird -1 ausgegeben :)

das framework hat nen paar schicke funktionen ;)
 
AW: js-Array()?

Symfony-Framework ist PHP ;) und war mehr als Zusatzfrage gedacht.

Ansonsten nehm ich in der Regel jQuery. Nur hier war ein Script ausserhalb eines Frameworks und ich wusste nicht mehr auf die Array-Variablen zuzugreifen. Wobei Prototype müsste ich mir ohnehin mal ansehen :)

EDIT:
Wenn das Thema zum Symfony-Framework (Zugriff auf Session-Daten (normal) als auch Session-Array) interessiert: Dort habe ich die Lösung entsprechend der jeweiligen Vorgehensweise dokumentiert.
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
119.001
Beiträge
1.540.308
Mitglieder
68.231
Neuestes Mitglied
fosaxed
Oben