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 toX, die ein Array mit Punkten wie {x: 1, y: 2} entgegennimmt und die x-Werte dieser Punkte als Array zurückgibt.

Beispiel: toX([{x: -1, y: -5}, {x: 2, y: 7}]) sollte [-1, 2] liefern.
Versuche eine Lösung mit Schleife und eine Lösung mit der Array-Methode map() und einer Pfeilfunktion zu finden.
// 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);
}

loving