Antwort an „Rolf B“ verfassen

problematische Seite

Hallo ebody,

sprichst Du von Fällen wie diesem?

gefiltert = movies.filter(movie => movie.fsk <= 6);

Ich lass das Genrezeugs mal weg und beschränke mich auf eine einfachere Pfeilfunktion.

Die wird intern von filter aufgerufen. Letztlich könntest Du filter auch selbst programmieren. Das ist nicht ganz einfach, einen vollständigen Polyfill für Array.prototype.filter findest Du bei Mozilla. Ich zeige hier mal eine vereinfachte Demoversion als standalone-Funktion, die im Wesentlichen den Callback-Aufruf zeigt:

function demo_array_filter(inputArray, filterCallback) {
   let len = inputArray.length,
       ergebnis = new Array(len),
       i;
   for (i=0; i<len; i++) {
      if (filterCallback(inputArray[i], i, inputArray)) {
         ergebnis[i] = inputArray[i];
      }
   }
}

Die Demoversion zeigt auch, dass der Callback eigentlich noch mehr Parameter bekommt außer dem aktuellen Element. Weitere Parameter sind der Index und das gefilterte Array. Aber die muss man nicht entgegennehmen.

Rolf

--
sumpsi - posui - obstruxi
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen