Eska: Javascript Arrays Novizen Frage

Beitrag lesen

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!