Einführung
In diesem Lab werden wir die mapConsecutive-Funktion in JavaScript erkunden. Diese Funktion ermöglicht es uns, aufeinanderfolgende Elemente eines Arrays mit einer angegebenen Funktion abzubilden. Wir werden lernen, wie diese Funktion verwendet werden kann, um Arrays auf eine präzise und effiziente Weise zu manipulieren.
Funktion zum Abbilden aufeinanderfolgender Elemente in einem Array
Um zu beginnen, öffnen Sie das Terminal/SSH und geben Sie node ein.
Diese Funktion bildet jedes Block von n aufeinanderfolgenden Elementen in einem Array mit der angegebenen Funktion fn ab. Folgen Sie diesen Schritten:
- Verwenden Sie
Array.prototype.slice(), um ein neues Arrayarrzu erhalten, von dem die erstennElemente entfernt wurden. - Verwenden Sie
Array.prototype.map()undArray.prototype.slice(), umfnauf jeden Block vonnaufeinanderfolgenden Elementen inarranzuwenden.
Hier ist der Code:
const mapConsecutive = (arr, n, fn) =>
arr.slice(n - 1).map((v, i) => fn(arr.slice(i, i + n)));
Beispielsweise können Sie mapConsecutive() verwenden, um jeden Block von 3 aufeinanderfolgenden Elementen in einem Array von Zahlen abzubilden und sie mit Bindestrichen zu verbinden:
mapConsecutive([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3, (x) => x.join("-"));
// ['1-2-3', '2-3-4', '3-4-5', '4-5-6', '5-6-7', '6-7-8', '7-8-9', '8-9-10'];
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Map Consecutive Elements" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.