Meine Herren,
~~~javascript
Untermenue["Ruestzeug"] = ["Aus Stoff", "Aus Leder", "Aus Metall"];
Untermenue["Ruestzeug"]["AusStoff"] = ["Für den Kopf", "Für den Oberkörper", "Für die Arme", "Für die Beine", "Sonstiges"];
Untermenue["Ruestzeug"]["AusLeder"] = ["Für den Kopf", "Für den Oberkörper", "Für die Arme", "Für die Beine", "Sonstiges"];
Untermenue["Ruestzeug"]["AusMetall"] = ["Für den Kopf", "Für den Oberkörper", "Für die Arme", "Für die Beine", "Sonstiges"];
Das ist eine sehr eigenartige Struktur, hier mal ein Equivalent mit etwas ausführlicherer Schreibweise:
~~~javascript
Untermenue["Ruestzeug"] = new Array();
var Ruestzeug = Untermenue["Ruestzeug"]; // nur der Übersicht halber
Ruestzeug[0] = "Aus Stoff"
Ruestzeug[1] = "Aus Leder";
Ruestzeug[2] = "Aus Metall";
Ruestzeug["AusStoff"] = new Array();
Ruestzeug["AusStoff"][0] = "Für den Kopf";
Ruestzeug["AusStoff"][1] = "Für den Oberkörper";
Ruestzeug["AusStoff"][2] = "Für die Arme";
Ruestzeug["AusStoff"][3] = "Für die Beine";
Ruestzeug["AusStoff"][4] = "Sonstiges";
Ruestzeug["AusLeder"] = new Array();
Ruestzeug["AusLeder"][0] = "Für den Kopf";
Ruestzeug["AusLeder"][1] = "Für den Oberkörper";
Ruestzeug["AusLeder"][2] = "Für die Arme";
Ruestzeug["AusLeder"][3] = "Für die Beine";
Ruestzeug["AusLeder"][4] = "Sonstiges";
Ruestzeug["AusMetall"] = new Array();
Ruestzeug["AusMetall"][0] = "Für den Kopf";
Ruestzeug["AusMetall"][1] = "Für den Oberkörper";
Ruestzeug["AusMetall"][2] = "Für die Arme";
Ruestzeug["AusMetall"][3] = "Für die Beine";
Ruestzeug["AusMetall"][4] = "Sonstiges";
Du mischst auf dieser Ebene numerische und alphanumerische Schlüssel, was untypisch ist. Eigenschaften mit numerischen Schlüsseln zählen als Array-Elemente, nicht-numerische hingegen als Objekt-Eigenschaften. Das hat dich vermutlich auch dazu verleitet eine for-in-Schleife zum Itererieren über die Struktur zu verwenden.
So Fehler könnten dir direkt auffallen, wenn du derartige Datenstrukturen in JSON-Syntax notierst, gleichzeit erhöhst du damit außerdem wesentlich die Leserlichkeit.
Ein JSON-Beispiel (ohne diesen Fehler):
{
"AusStoff" : [
"Für den Kopf",
"Für den Oberkörper",
"Für die Arme",
"Für die Beine",
"Sonstiges"
],
"AusLeder" : [
"Für den Kopf",
"Für den Oberkörper",
"Für die Arme",
"Für die Beine",
"Sonstiges"
],
"AusMetall" : [
"Für den Kopf",
"Für den Oberkörper",
"Für die Arme",
"Für die Beine",
"Sonstiges"
]
}