Hallo Gunnar, vielen Dank schon mal, dass du die Datenstruktur korregiert hast - ganz klar, so sollte das zweite Array aussehen, danke!
nachdem du Jimi Hendrix in deiner Signatur hast 😉, ein Beispiel für das Projekt wären Tonleitern :
array1=[c,c#-db,d,d#-eb,e,f,f#-gb,g,g#-ab,a,a#-bb,b,c,c#-db,d,d#-eb,e,f,f#-gb,g,g#-ab,a, a#-bb,b,]
Mir ist klar, dass die Doppellung der Werte nicht wirklich nötig ist, aber zusätzlich noch ein Modulus Abfrage kommt dann später 😉 - würde halt im Dropdown die Auswahl auf die ersten 12 Werte beschränken.
const array2 = [ { name: "Dur", value: [2,2,1,2,2,2,1] }, { name: "Moll", value: [2,1,2,2,1,2,2] }, { name: "Pentatonik", value: [2,2,3,2,3] }, { name: "Dorian", value: [2,1,2,2,2,1,2] }, ];
Dropdown1 aus array1
Dropdown2 aus array2
wähle aus Dropdown1 den Startpunk z.B. "c" also Wert array1[0]
wähle aus Dropdown2 die Sequenz z.B. Dur
var i=0; //Startwert
var j=0; //erster Wert in Array2
dann müsste wohl eine while Schleife oder ein "foreach in array2" starten für die Ausgabe, die mir die Werte wie folgt ausgibt
{
echo array1[i]; // ist es hier besser für die Ausgabe consol.log oder ausgabe.innerHTML zu verwenden? echo hatte ich immer in PHP verwendet, klar, dass das hier ncht zum Einsatz kommt...
i=i+array2[j];
j++;
}
Ausgabe würde dann so aussehen (klar, Leerzeichen, Bindestrich o.ä. müßte ich noch in die Ausgabe einbinden...)
c d e f g a b c
Noch eine Frage, bei Array2 ist es egal, wenn die Werte unterschiedliche Längen haben also mal 5 Werte, mal 12 Werte in einer Zeile sind, oder?
Danke für die Hilfe!