Indizes eines mehrdimensionalen Arrays finden
Frank S.
- javascript
Hallo zusammen,
Ich habe folgendes Problem:
Ich habe ein Array mit zwei Indizes und möchte die beiden passenden Indizes zu einem Suchwert herausbekommen.
Heißt, das Array sieht ungefähr so aus:
array[0][0] = 'abc';
array[0][1] = 'def';
...
array[1][0] = '123';
array[1][1] = '456';
...
array[n][n] = 'nnn';
Es ist sichergestellt, dass jeder Wert nur einmal im Array enthalten ist.
Ich brauche jetzt eine Funktion, die mir eine Fragestellung beantwortet wie: "An welcher Stelle im Array steht der Wert 456?"
Ergebnis: i = 1 und j = 1
Ich habe es mit indexOf versucht, aber bin damit nicht klar gekommen, da ich ja nicht nur einen Index suche sondern mehrere. Ich habe leider wenig Erfahrung in Javascript, so dass mir eine konkrete Lösung sehr helfen würde. Ich habe bereits gegoogled aber nichts gefunden, was funktioniert.
Wäre super, wenn mir jemand einen konkreten Lösungsansatz aufzeigen könnte statt einen Link auf indexOf. ;-)
Vielen Dank schonmal!
Gruß,
Frank
Hi!
Da Du ein Array hast und keine Zeichenkette, wuesste ich nicht, warum jemand auf indexOf() verlinken sollte.
Iteriere durch deine Arrays. Oder joine deine Arrays und wende dort Zeichenkettenfunktionen/RegExp an.
[latex]Mae govannen![/latex]
Da Du ein Array hast und keine Zeichenkette, wuesste ich nicht, warum jemand auf indexOf() verlinken sollte.
Ok, man ungeachtet, daß es bei dem Problem des OP gerade nicht hilft: Wieso sollte man das nicht tun?
Iteriere durch deine Arrays.
Oder joine deine Arrays und wende dort Zeichenkettenfunktionen/RegExp an.
Wie ermittelt man daraus die beiden gesuchten Index-Werte?
Stur lächeln und winken, Männer!
Kai
[latex]Mae govannen![/latex]
Da Du ein Array hast und keine Zeichenkette, wuesste ich nicht, warum jemand auf indexOf() verlinken sollte.
Ok, man ungeachtet, daß es bei dem Problem des OP gerade nicht hilft: Wieso sollte man das nicht tun?
Du hast Recht. *schaem*
Iteriere durch deine Arrays.
Oder joine deine Arrays und wende dort Zeichenkettenfunktionen/RegExp an.
Wie ermittelt man daraus die beiden gesuchten Index-Werte?
Theoretisch moeglich. Wenn Du weisst, wo in dem String das Gesuchte ist, kannst Du auch ermitteln, wo es in dem Array ist. ("0-3;2-4;1-5" Gesucht ist 4. Davor ist findet sich genau ein ; und ein - steht genau davor, es ist also auf 1,1) Es mag Faelle geben, wo das schneller funktioniert. Einfacher und wahrscheinlich effektiver ist natuerlich das gewoehnliche Schleifenziehen durch die Arrays. Ich habs hier nur erwaehnt, weils geht.
Ok, aber wie ermittele ich die Länge einer Dimension eines mehrdimensionalen Arrays? Mit array.length geht es so ohne weiteres offenbar nicht.
Hi,
Ok, aber wie ermittele ich die Länge einer Dimension eines mehrdimensionalen Arrays?
Das kannst du bei JavaScript-Arrays gar nicht - weil diese keine "feste" Dimension haben. Ein Unter-Element auf erster Ebene kann bspw. seinerseits wieder ein Array sein - das nächste ist aber vielleicht nur ein Skalar. Und wenn es ein Array ist, könnte es auch seinerseits wieder Array enthalten ... etc. pp.
Mit array.length geht es so ohne weiteres offenbar nicht.
Wenn du ein Array aus Arrays hast, dann kannst du für jedes Unter-Array dessen "Länge" bestimmen.
MfG ChrisB