Der Browser-Speicher localStorage ist nicht verfügbar. Entweder unterstützt dein Browser ihn nicht oder du hast ihn deaktiviert oder er ist voll. Ohne localStorage werden deine Lösungen nicht gespeichert.
Funktionale Programmierung 2
Funktionsausdrücke hatten wir schon kennengelernt. Dort wurde einer
Variablen eine anonyme Funktion zugeordnet. Anonyme Funktionen kann man aber auch direkt, ohne vorherige Variablenzuodnung,
an Funktionen übergeben, die Funktionen als Argument verlangen. Das
map()
-Beispiel aus der vorherigen Lektion sieht dann so aus:
let startNumbers = [1, 2, 3];
let newNumbers = startNumbers.map(function(x) {
return x + 1;
});
console.log(newNumbers); // [2, 3, 4]
Verwendet man jetzt auch noch Pfeilfunktionen, so sieht man direkt
mit welcher Operation das Array gemappt wird:
let startNumbers = [1, 2, 3];
let newNumbers = startNumbers.map(x => x + 1);
console.log(newNumbers); // [2, 3, 4]
Aufgabe
Schreibe eine Funktion
Beispiel:
toX
, die ein Array mit Punkten wie {x: 1, y: 2}
entgegennimmt
und die die x-Werte dieser Punkte als Array zurückgibt.Beispiel:
toX([{x: -1, y: -5}, {x: 2, y: 7}])
sollte [-1, 2]
zurückgeben.
+ Tipp
Versuche eine Lösung mit Schleife und eine Lösung mit der Array-Methode
map()
und einer Pfeilfunktion zu finden.
+ Lösung
// mit Schleife
function toX(points) {
let result = [];
for (let i = 0; i < points.length; i++) {
result.push(points[i].x);
}
return result;
}
// mit map() und Pfeilfunktion
function toX(points) {
return points.map(p => p.x);
}