Einführung
In diesem Lab werden wir untersuchen, wie man Werte aus einem Array anhand einer gegebenen Vergleichsfunktion herausfiltert. Wir werden die Methoden Array.prototype.filter() und Array.prototype.findIndex() verwenden, um dies zu erreichen. Darüber hinaus werden wir lernen, wie man den standardmäßigen strikt-Äquivalenz-Vergleichsoperator verwendet, wenn keine Vergleichsfunktion angegeben wird.
Wie man Werte aus einem Array anhand einer Funktion herausfiltert
Um alle Werte aus einem Array anhand einer gegebenen Vergleichsfunktion herauszufiltern, folgen Sie diesen Schritten:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Code-Praxis zu beginnen. - Verwenden Sie
Array.prototype.filter()undArray.prototype.findIndex(), um die passenden Werte zu finden. - Lassen Sie das letzte Argument,
comp, weg, um einen standardmäßigen strikt-Äquivalenz-Vergleichsoperator zu verwenden. - Verwenden Sie folgenden Code:
const differenceWith = (arr, val, comp = (a, b) => a === b) =>
arr.filter((a) => val.findIndex((b) => comp(a, b)) === -1);
- Testen Sie Ihre Funktion mit folgenden Beispielen:
differenceWith(
[1, 1.2, 1.5, 3, 0],
[1.9, 3, 0],
(a, b) => Math.round(a) === Math.round(b)
); // Erwartetes Ergebnis: [1, 1.2]
differenceWith([1, 1.2, 1.3], [1, 1.3, 1.5]); // Erwartetes Ergebnis: [1.2]
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab zu Arrayunterschieden basierend auf Funktionen abgeschlossen. Sie können in LabEx weitere Labs ausprobieren, um Ihre Fähigkeiten zu verbessern.