Einführung
In diesem Lab werden wir lernen, wie man in JavaScript eine Arrayvereinigung auf der Grundlage einer Funktion implementiert. Wir werden die bereitgestellte Vergleichsfunktion verwenden, um alle Elemente zu finden und zurückzugeben, die in mindestens einem der beiden Arrays mindestens einmal vorhanden sind. Am Ende des Labs werden Sie ein besseres Verständnis dafür haben, wie man die Array.prototype.findIndex()-Methode und das Set-Objekt verwendet, um Arrays zu vergleichen und zu kombinieren.
Wie man die Vereinigung zweier Arrays basierend auf einer Funktion findet
Um die Vereinigung zweier Arrays basierend auf einer Funktion mit Node.js zu finden, gehen Sie folgendermaßen vor:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein. - Verwenden Sie den folgenden Code, um eine
Setmit allen Werten vonaund Werten inbzu erstellen, für die der Vergleichsoperator inakeine Übereinstimmungen findet, indem SieArray.prototype.findIndex()verwenden:
const unionWith = (a, b, comp) =>
Array.from(
new Set([...a, ...b.filter((x) => a.findIndex((y) => comp(x, y)) === -1)])
);
- Rufen Sie die
unionWith-Funktion mit drei Argumenten auf: das erste Array, das zweite Array und die Vergleichsfunktion. - Die Funktion gibt jedes Element zurück, das in mindestens einem der beiden Arrays mindestens einmal vorhanden ist, unter Verwendung der bereitgestellten Vergleichsfunktion.
- Hier ist ein Beispiel für das Aufrufen der
unionWith-Funktion:
unionWith(
[1, 1.2, 1.5, 3, 0],
[1.9, 3, 0, 3.9],
(a, b) => Math.round(a) === Math.round(b)
);
// [1, 1.2, 1.5, 3, 0, 3.9]
Dies wird [1, 1.2, 1.5, 3, 0, 3.9] als die Vereinigung der beiden Arrays zurückgeben.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab zu Arrayvereinigung basierend auf einer Funktion abgeschlossen. Sie können in LabEx weitere Labs ausprobieren, um Ihre Fähigkeiten zu verbessern.