Entfernen von Array-Elementen mit Callback

JavaScriptJavaScriptBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab arbeiten wir an einer JavaScript-Programmieraufgabe, bei der es darum geht, Arrays zu manipulieren. Ziel dieses Labs ist es, eine Funktion zu schreiben, die Elemente vom Ende eines Arrays entfernt, bis eine bestimmte Bedingung erfüllt ist, und die entfernten Elemente zurückgibt. Sie werden verschiedene JavaScript-Array-Methoden und eine Callback-Funktion verwenden, um diese Aufgabe zu lösen.

Entfernen von Array-Elementen vom Ende, bis eine Bedingung erfüllt ist

Um mit der Programmierung zu üben, öffnen Sie das Terminal/SSH und geben Sie node ein.

Hier ist eine Funktion, die Elemente vom Ende eines Arrays entfernt, bis die übergebene Funktion false zurückgibt. Anschließend werden die entfernten Elemente zurückgegeben.

Um sie zu verwenden, erstellen Sie eine umgekehrte Kopie des Arrays mit dem Spread-Operator (...) und Array.prototype.reverse(). Anschließend durchlaufen Sie die umgekehrte Kopie mit einer for...of-Schleife über Array.prototype.entries(), bis der zurückgegebene Wert der Funktion falsch ist.

Die Callback-Funktion fn akzeptiert ein einzelnes Argument, das den Wert des Elements ist. Am Ende geben Sie die entfernten Elemente mit Array.prototype.slice() zurück.

const takeRightWhile = (arr, fn) => {
  for (const [i, val] of [...arr].reverse().entries())
    if (!fn(val)) return i === 0 ? [] : arr.slice(-i);
  return arr;
};

Hier ist ein Beispiel, wie die Funktion verwendet werden kann:

takeRightWhile([1, 2, 3, 4], (n) => n >= 3); // [3, 4]

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Entfernen von Array-Elementen vom Ende, solange eine Bedingung erfüllt ist" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.