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
node
ein.
- Verwenden Sie den folgenden Code, um eine
Set
mit allen Werten von a
und Werten in b
zu erstellen, für die der Vergleichsoperator in a
keine Übereinstimmungen findet, indem Sie Array.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.