2D Arrays vergleichen und nur Übereinstimmung in neuem Array auflisten...

  • Hallo,

    ich bekomme es leider nicht hin.
    Ich versuche 2 Arrays zu vergleichen und bei Übereinstimmung die Werte beider Arrays in einem neuen Array zusammenzufügen.

    Hier ist mein Ansatz:

    Spoiler anzeigen

    Könnt Ihr mir helfen?

    VG

    horphi

  • Wie sollte das Ergebnis aufbauend auf Deinem obigen Beispiel aussehen?

  • Beispiel - ich gehe davon aus, dass jede Frucht in Tabelle 2 nur 1x vorkommt.

    • Offizieller Beitrag

    Hmm...vielleicht so:

  • ;( ...wie macht ihr das....ich sitze seit 2 Tagen davor und kriege es nicht hin.

    Dann poste ich hier einmal meinen Ansatz und ihr haut 10 min später die Lösung raus... :thumbup::klatschen::klatschen::klatschen:
    Oscars Lösung ist PERFEKT!

    @ Water: auf dein Frage zurückzukommen, ja es gibt die Früchte mehrmals in der 2. Tabelle...Ich habe 2x Äpfel mit unterschiedlichen Halbarkeitsdaten...

    AutoIt
    Global $aarray1 = [["Banane", "16,95"], ["Apfel", "20,5"], ["Birne", "20,5"]]
    Global $aarray2 = [["Banane", "16.11", '2 / 3'], ["Apfel", "20.11", '2 / 5'], ["Apfel", "19.11", '2 / 6'],['Kirsche', '23.11', '4 / 9']]

    VIELEN DANK!!!!!

  • Da Oscars Lösung auch diesen Spezialfall abdeckt, müsste man meine Lösung noch etwas nacharbeiten.
    Aber Dictionary sieht auch irgendwie eleganter aus :)

    • Offizieller Beitrag

    wie macht ihr das....ich sitze seit 2 Tagen davor und kriege es nicht hin.

    Das sind im Prinzip auch Programmier-Grundlagen, die man mit der Zeit lernt.
    Solche Vergleiche benötigt man öfter mal und wenn man ein Array mit mehreren Werten (2. Array) vergleichen will, dann ist das Dictionary.Object sehr schnell (im Vergleich zu zwei verschachtelten Schleifen).

  • Ich verstehe aus dem Dictionary.Object.Add --> das ich nur ein Item hinzufügen kann richtig?

    RICHTIG object.Add (key, item)

    FALSCH object.Add (key, item1,Item2)

    VG

    Einmal editiert, zuletzt von horphi (12. November 2015 um 21:37)

  • Naja, es wird zumindest in den UDFs recht viel aufgenommen, aber es kann nicht alles in die Standartbibliothek aufgenommen werden. Gerade so etwas, das ja doch nicht soo oft gebraucht wird. Genau dafür gibt es ja UDFs. Damit man sich Funktionen je nach gebrauch zusammensuchen kann. Ansonsten wird es irgendwann viel zu unübersichtlich :)

  • Diese kleine Optimierung von @Oscar's Skript:

    sollte zumindest bei großem 2. Array einige Zeit sparen da nur noch 1 ReDim ausgeführt werden muss.