arrays mit java script
Maia
- javascript
0 Felix Stahlberg0 frankx0 Maia
0 maia
Hallo an alle,
ich versuche arrays darszustellen, um diese später für die Navigation zu verwenden. Am besten poste ich erst mal den quellcode:
---------------------------------------------------------------------
var Hauptkategorien = new Array("werkzeug", "kleidung", "parfüm");
var werkzeug = new Array("schneidemaschine", "pfalzmaschine", "druckmaschine");
for (var i = 0; i < Hauptkategorien.length; ++i)
{
var unterkategorie=Hauptkategorien[i];
alert(unterkategorie);
for (var j = 0; j < unterkategorie.length; ++j)
{
alert(unterkategorie[j]);
}
}
---------------------------------------------------------------------
wie man sieht habe ich zwei arrays:
Hauptmenu und Werkzeug, wobei werkzeug später als untermenu fungiert.
I der ersten schleife gebe ich Hauptkategorien[i] mit alert aus und die Variable wird korrekt ausgegeben. In der zweiten schleife verliere ich das array irgendwie. Kann mir vielleich jemand einen Tipp geben woran das liegen könnte?
Danke schön im voraus Maia
Hallo,
var Hauptkategorien = new Array("werkzeug", "kleidung", "parfüm");
var werkzeug = new Array("schneidemaschine", "pfalzmaschine", "druckmaschine");
for (var i = 0; i < Hauptkategorien.length; ++i)
{
var unterkategorie=Hauptkategorien[i];
alert(unterkategorie);
for (var j = 0; j < unterkategorie.length; ++j)
{
alert(unterkategorie[j]);
}
}
In der Variablen unterkategorie wird eine Zeichenkette abgelegt (nacheinander "werkzeug", "kleidung" und "parfüm"). Diese wird dann als gesamtes ausgegeben:
alert(unterkategorie);
Die innere for-Schleife ruft dann jeden Buchstaben dieser Zeichenkette ab und gibt diese nochmals einzeln aus.
alert(unterkategorie[j]);
Das war bestimmt nicht das was du erreichen wolltest.
Ich vermute du möchtest ein zweidimensionales Array erschaffen? Dann sieh dir mal den SelfHTML-Artikel zu Arrays in JavaScript an. Der Punkt Assoziative Arrays könnte für dich auch interessant sein.
Gruß,
Hellihello Maia,
vielleicht hilft Dir aber auch die Javascript Object Notation (JSON)?
In etwa so:
Menu = {"werkzeug":["schneidemaschine",
"pfalzmaschine",
"druckmaschine"
],
"kleidung":["KleidungUnter1",
"KleidungUnter2",
"KleidungUnter3"
]
}
alert (Menu.werzeug[2]); // druckmaschine
// aber auch
for (Hauptmenu in Menu) {
for (Untermenu in Hauptmenu) {
alert(Hauptmenu[Untermenu]);
}
}
//ungetestet
Gruß,
frankx
vielen Dank frankx,
genau so was habe ich gesucht
LG Maia
Danke Felix,
Genau so was versuche ich, die Assoziative Arrays habe ich mir auch angesehen. Leider ist mir die schreibweise zu lang. Ich muss zwingenderweise den Code sehr kurz halten. Verstehe nicht warum ich nicht den Namen irgendwie merken und dann auf ein Array mit dem gleichen Namen zugreifen kann.
LG Maia
Hallo,
var Hauptkategorien = new Array("werkzeug", "kleidung", "parfüm");
var werkzeug = new Array("schneidemaschine", "pfalzmaschine", "druckmaschine");
Verstehe nicht warum ich nicht den Namen irgendwie merken und dann auf ein Array mit dem gleichen Namen zugreifen kann.
Felix hat es dir doch genau erklärt: Wegen
var unterkategorie=Hauptkategorien[i];
gilt:
In der Variablen unterkategorie wird eine *Zeichenkette* abgelegt
nämlich, je nach i, die Zeichenkette "schneidemaschine", "pfalzmaschine" oder "druckmaschine". Da es sich jeweils um eine Zeichenkette handelt und nicht um ein Array, kannst du nicht mit
unterkategorie.length
die Länge des Arrays werkzeug ermitteln sondern nur die Länge der jeweiligen Zeichekette "schneidemaschine", "pfalzmaschine" oder "druckmaschine", und mit
alert(unterkategorie[j])
kannst du auch nicht ein Arrayelement des Arrays werkzeug ausgeben, sondern nur den Buchstaben der jeweiligen Zeichenkette an der Position j.
Gruß, Don P
P.S.: Was zum Geier ist eine "pfalzmaschine"? Die große Schwester der "saarlandmaschine" vielleicht ;-) ?
Grütze .. äh ... Grüße!
P.S.: Was zum Geier ist eine "pfalzmaschine"? Die große Schwester der "saarlandmaschine" vielleicht ;-) ?
Eine Maschine, die in der Pfalz betrieben wird, wie es der Name schon andeutet ;)
Cü
Kai
Hallo,
P.S.: Was zum Geier ist eine "pfalzmaschine"? Die große Schwester der "saarlandmaschine" vielleicht ;-) ?
Eine Maschine, die in der Pfalz betrieben wird, wie es der Name schon andeutet ;)
Also doch, das habe ich mir fast gedacht ;-)
Gruß, Don P
Grütze .. äh ... Grüße!
P.S.: Was zum Geier ist eine "pfalzmaschine"? Die große Schwester der "saarlandmaschine" vielleicht ;-) ?
Eine Maschine, die in der Pfalz betrieben wird, wie es der Name schon andeutet ;)
Also doch, das habe ich mir fast gedacht ;-)
Ja, und zwar ausschließlich dort. In einer anderen Region versagt sie den Dienst. ;)
Cü
Kai
Hallo,
Mit
var Hauptkategorien = new Array("werkzeug", "kleidung", "parfüm");
var werkzeug = new Array("schneidemaschine", "pfalzmaschine", "druckmaschine");
var unterkategorie=Hauptkategorien[i];
muss es natürlich heißen:
In der Variablen unterkategorie wird eine *Zeichenkette* abgelegt,
nämlich, je nach i, die Zeichenkette "werkzeug", "kleidung", oder "parfüm".
Gruß, Don P