Einführung
In diesem Lab werden wir untersuchen, wie man in JavaScript überprüft, ob ein Array in einem anderen Array enthalten ist. Wir werden verschiedene Array-Methoden wie for...of, Set, some() und filter() verwenden, um eine Funktion zu schreiben, die bestimmen kann, ob die Elemente des ersten Arrays im zweiten Array vorhanden sind, unabhängig von ihrer Reihenfolge. Dieses Lab wird Ihnen helfen, zu verstehen, wie man Arrays in JavaScript manipuliert und effiziente Code schreibt, um häufige Programmierprobleme zu lösen.
Funktion, um zu überprüfen, ob ein Array in einem anderen Array enthalten ist
Um zu beginnen, öffnen Sie das Terminal/SSH und geben Sie node ein. Diese Funktion überprüft, ob alle Elemente des ersten Arrays im zweiten Array vorhanden sind, unabhängig von ihrer Reihenfolge.
Hier sind die Schritte, die Sie zu befolgen haben:
- Verwenden Sie eine
for...of-Schleife, um über einen aus dem ersten Array erstelltenSetzu iterieren. - Anwenden Sie
Array.prototype.some(), um zu überprüfen, ob alle eindeutigen Werte im zweiten Array vorhanden sind. - Verwenden Sie
Array.prototype.filter(), um die Anzahl der Vorkommen jedes eindeutigen Werts in beiden Arrays zu vergleichen. - Wenn die Anzahl eines Elements im ersten Array größer als im zweiten Array ist, geben Sie
falsezurück. Wenn nicht, geben Sietruezurück.
Schauen Sie sich den folgenden Code an, um zu sehen, wie es funktioniert:
const isContainedIn = (a, b) => {
for (const v of new Set(a)) {
if (
!b.some((e) => e === v) ||
a.filter((e) => e === v).length > b.filter((e) => e === v).length
)
return false;
}
return true;
};
Um die Funktion zu testen, verwenden Sie folgenden Code:
isContainedIn([1, 4], [2, 4, 1]); // true
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Array Is Contained in Other Array" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.