Einführung
In diesem Lab werden wir das Konzept der Array-Schnittmenge basierend auf einer bereitgestellten Vergleichsfunktion in JavaScript erkunden. Ziel dieses Labs ist es, Ihnen zu beibringen, wie Sie Array.prototype.filter() und Array.prototype.findIndex() verwenden, um Schnittwerte zwischen zwei Arrays zu finden. Am Ende dieses Labs sollten Sie in der Lage sein, diese Technik auf Ihre eigenen Projekte anzuwenden und Ihre JavaScript-Programmierfähigkeiten zu verbessern.
Wie man die Array-Schnittmenge mithilfe einer Funktion in JavaScript findet
Um die Elemente zu finden, die in beiden Arrays basierend auf einer bereitgestellten Vergleichsfunktion existieren, gehen Sie folgendermaßen vor:
Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen.Verwenden Sie
Array.prototype.filter()undArray.prototype.findIndex()in Kombination mit der bereitgestellten Vergleichsfunktion, um die Schnittwerte zu bestimmen.const intersectionWith = (a, b, comp) => a.filter((x) => b.findIndex((y) => comp(x, y)) !== -1);Rufen Sie die
intersectionWith()-Funktion mit den beiden Arrays und der Vergleichsfunktion als Argumenten auf.intersectionWith( [1, 1.2, 1.5, 3, 0], [1.9, 3, 0, 3.9], (a, b) => Math.round(a) === Math.round(b) ); // [1.5, 3, 0]
Dies wird ein Array zurückgeben, das die Schnittwerte zwischen den beiden Arrays enthält, basierend auf der bereitgestellten Vergleichsfunktion.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab zu Array-Schnittmenge basierend auf einer Funktion abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.