JavaScript 2 forEach Schleifen?

Hi,

ich bin dabei mein eigenes Schachspiel als Webseite zu programmieren. Ich hänge aber leider gerade beim spawnen der Figuren fest. Ich will diese ja so kompakt wie möglich im Code formulieren.

Die Frage ist jetzt beim letzten Bild. Warum kann ich keine 2 for each schleifen so wie im bild durchlaufen lassen. es kommt das hier als fehler

Ich will in der ersten for each alle 6 objekte nacheinander aufrufen, dann jeweils pro durchlauf soll zu z.b den bauern alle 16 positionen auf dem schachfeld belegt werden. ich hoffe jemand kann mir helfen.

Hier nochmal die wichtigsten teile des codes als text:

function Figur(name, position, bild)

{

    this.Name = name;

    this.Position = position;

    this.Bild = bild;

    this.Bewegen = bewegen;

}

var f_namen = ["bauer","springer","laeufer","turm","dame","koenig"];

var bauer = new Figur("bauer", ["1_2","2_2","3_2","4_2","5_2","6_2","7_2","8_2","1_7","2_7","3_7","4_7","5_7","6_7","7_7","8_7"], "Media/Bilder/Schachfiguren/Bauer.png");

var springer = new Figur("springer", ["2_1","7_1","2_8","7_8"], "Media/Bilder/Schachfiguren/Springer.png");

var laeufer = new Figur("laeufer", ["3_1","6_1","3_8","6_8"], "Media/Bilder/Schachfiguren/Läufer.png");

var turm = new Figur("turm", ["1_1","8_1","1_8","8_8"], "Media/Bilder/Schachfiguren/Turm.png");

var dame = new Figur("dame", ["4_1","4_8"], "Media/Bilder/Schachfiguren/Dame.png");

var koenig = new Figur("koenig", ["5_1","5_8"], "Media/Bilder/Schachfiguren/König.png");

function spielstart()

{

    //Alle Felder leeren

    $(".figur").remove();

    //Figurenzähler auf 1

    f_nummer = 1;

    //Figuren spawnen

    f_namen.forEach(element_name => {

        element_name.Position.forEach(element => {

            $("<div/>",{

                id: koenig.Name + "_" + f_nummer,

                class: "figur",

                "height" : "100px"

            }).appendTo("#feld_" + element);

           

            $("<img/>",{

                class: "l_bild",

                "src" : koenig.Bild

            }).appendTo("#koenig_" + f_nummer);

            f_nummer++;

        });

    });

}

Bild zum Beitrag
Computer, HTML, programmieren, JavaScript, JQuery, Spiele und Gaming
Python: Kleinsten Wert mit dem größten Wert innerhalb einer Liste tauschen?

Ich habe folgende Methode:

def tausche_wertung(bester_Termin):
       bester_Termin[min], bester_Termin[max] = bester_Termin[max], bester_Termin[min]
       return bester_Termin

Dabei ist "bester_Termin" ein Ergebnis aus einem folgendem Code, der also immer unterschiedlich ausfällt (gearbeitet wurde mit datetime):

print("Bitte geben Sie die Namen oder Bezeichnungen der Mitglieder ein, die zum Treffen kommen sollen (Anmerkung: mit Komma getrennt)")
mitglieder = [name.strip() for name in input().split(",")]

print("Bitte geben Sie die mögliche Termine ein (Anmerkung: mit Komma getrennt und im Format TT.MM.JJJJ)")
termine = [[datetime.strptime(datum.strip(),"%d.%m.%Y"),0] for datum in input().split(",")]


for mitglied in mitglieder:
   for termin in termine:
       termin[1] += int(input(f"Wie gut passt {termin[0]:%A, der %d.%m.%Y} für {mitglied}? (0 = passt gut, 1= passt mäßig, 2 = passt schlecht oder beispielsweise in Noten): "))
   print()

# Den Durchschnitt aller Termine auflisten.
print("Durchschnitt pro Termin:")
for termin in termine:
   print(f"{termin[0]:%A, der %d.%m.%Y}: {termin[1]/len(mitglieder):.2f}")

# Den best-passendsten Termin raussuchen. Anmerkung: Wenn es mehrmals den gleichen Durchschnitt gibt, wird der früheste Termin ausgeben.
bester_Termin = min(termine, key=lambda termin:termin[1])

Als beispiel-print kommt folgendesheraus:

[datetime.datetime(3, 1, 1, 0, 0), 3]

In diesem Fall, war der dritte Termin der beste und die 1 war die kleinste Eingabe der 1. Person für irgendeinen Termin, die zweite 1 war die kleinste Eingabe der 4. Person, wieder für irgendeinen Termin und die beiden 0en waren von Person 2. und 3. schon für den dritten Termin eingeben und automatisch der kleinste Wert.

Die Liste wird also von Groß zu Klein aufgelisten sehe ich das richtig? Denn die vorliegende Liste wäre hier quasi [Person1., Person 4., Person 2., Person 3.] und nicht von 1-4 aufwärts?

Ausgabe:

Mein Ziel ist es erstmal die Werte für den besten Termin nur mit einer anderen Eingabe zu tauschen, wenn nicht bereits die kleinste Wertung für den Termin vorliegt. Das ist hier ja bereits gegeben, wenn ich es richtig sehe, denn die beiden 0en bleiben gleich.

Anschließend will ich, dass das Programm ausgibt wie oft ein Wechsel der Bewertung möglich ist, d.h. wenn es bereits die kleinste bzw. beste Wertung ist (0 ist hier die beste) wird nicht getauscht, ebenso wenn es nicht möglich ist, da alle Wertungen gleich waren o.ä.

Und dann soll das Programm, wenn möglich, noch ausgeben bei welchem Mitglied getauscht wurde, in diesem Fall bei Person 1.

Erläuterung Anhand Beispiel:

Mittwoch, der 01.01.0003 Termin ist der passendste, und Person 1 hat da eine 2, welche man mit der 1 der Wertung des ersten Termins tauschen kann.

Wunschprint: Es ist ein Wechsel der Bewertung möglich, und das bei Person 1

oder noch besser aber kein Zwang, wenn es zu kompliziert ist:

Es ist der Wechsel der Wertung des 3. mit der des 1. Termins bei Person 1 möglich.
Bild zum Beitrag
Computer, programmieren, Informatik

Meistgelesene Beiträge zum Thema Computer