Einführung
In diesem Lab werden wir untersuchen, wie man in JavaScript überprüft, ob zwei Arrays die gleichen Inhalte haben. Wir werden eine Funktion erstellen, die zwei Arrays als Parameter nimmt und true zurückgibt, wenn sie die gleichen Elemente enthalten, unabhängig von der Reihenfolge, und false sonst. Wir werden eine Kombination aus Set, for...of-Schleife und Array.prototype.filter() verwenden, um diese Funktionalität zu erreichen.
Prüfen auf gleiche Inhalte in Arrays
Um zu prüfen, ob zwei Arrays die gleichen Elemente enthalten, unabhängig von der Reihenfolge, folgen Sie diesen Schritten:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein. - Verwenden Sie eine
for...of-Schleife über einenSet, der aus den Werten beider Arrays erstellt wurde. - Verwenden Sie
Array.prototype.filter(), um die Anzahl der Vorkommen jedes einzelnen Wertes in beiden Arrays zu vergleichen. - Geben Sie
falsezurück, wenn die Zählungen für irgendein Element nicht übereinstimmen, andernfallstrue.
Hier ist der Code dazu:
const haveSameContents = (a, b) => {
for (const v of new Set([...a, ...b]))
if (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:
haveSameContents([1, 2, 4], [2, 4, 1]); // true
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Prüfen, ob Arrays die gleichen Inhalte haben" abgeschlossen. Sie können in LabEx weitere Labs ausprobieren, um Ihre Fähigkeiten zu verbessern.