Einführung
In diesem Lab werden wir die takeRightUntil-Funktion in JavaScript untersuchen. Diese Funktion entfernt Elemente vom Ende eines Arrays, bis eine gegebene Bedingung erfüllt ist, und gibt die entfernten Elemente zurück. Wir werden untersuchen, wie diese Funktion funktioniert und wie sie in Ihrem Code implementiert werden kann.
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.
Diese Funktion entfernt Elemente vom Ende eines Arrays, bis die übergebene Funktion true zurückgibt, und gibt dann die entfernten Elemente zurück.
So funktioniert es:
- Erstellen Sie zunächst eine umgekehrte Kopie des Arrays mit dem Spread-Operator (
...) undArray.prototype.reverse(). - Gehen Sie anschließend mit einer
for...of-Schleife über die umgekehrte Kopie vonArray.prototype.entries()iterativ durch, bis der zurückgegebene Wert der Funktion wahr ist. - Geben Sie danach die entfernten Elemente mit
Array.prototype.slice()zurück. - Die Callback-Funktion
fnakzeptiert ein einzelnes Argument, das den Wert des Elements ist.
Hier ist der Code:
const takeRightUntil = (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 diese Funktion verwendet werden kann:
takeRightUntil([1, 2, 3, 4], (n) => n < 3); // [3, 4]
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Entfernen von Array-Elementen vom Ende, bis eine Bedingung erfüllt ist" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.