Metoden filter

Metoden filter lar deg filtrere elementer i en array, og beholde kun de elementene som oppfyller en bestemt betingelse. Metoden tar imot en funksjon som parameter, som vil kjøres for hvert element i arrayen. Metoden returnerer en ny array, som kun vil inneholde de elementene som den overførte funksjonen returnerer true for.

Du kan sende tre parametere til funksjonen. Hvis disse parameterne er tilstede (de er ikke obligatoriske), vil den første automatisk motta elementet i arrayen, den andre vil motta dets nummer i arrayen (indeksen), og den tredje - selve arrayen.

Syntaks

javascriptlet nyArray = array.filter(function(element, indeks, array) {
  kode
  return true eller false
});

Eksempel

La oss filtrere en array, og bare beholde positive tall:

javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];

let res = arr.filter(function(elem) {
  if (elem >= 0) {
    return true;
  } else {
    return false;
  }
});

console.log(res);

Resultatet av kjøring av koden:

javascript[5, 1, 1, 3, 4]

Eksempel

La oss forkorte koden ved å bruke pilfunksjoner:

javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];

let res = arr.filter(elem => {
  if (elem >= 0) {
    return true;
  } else {
    return false;
  }
});

console.log(res);

Resultatet av kjøring av koden:

javascript[5, 1, 1, 3, 4]

Eksempel

La oss forkorte koden ved å bruke forkortelse av logiske operatorer:

javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];

let res = arr.filter(elem => {
  return elem >= 0;
});

console.log(res);

Resultatet av kjøring av koden:

javascript[5, 1, 1, 3, 4]

Eksempel

La oss forkorte koden ved å bruke egenskapene til pilfunksjoner:

javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);

console.log(res);

Resultatet av kjøring av koden:

javascript[5, 1, 1, 3, 4]

Eksempel

Ved behov kan du i den tredje parameteren sende selve arrayen:

javascriptlet res = arr.filter(function(elem, index, arr) {
  her vil arrayen arr være tilgjengelig
});

Se også

  • metodene map og forEach,
    som lar deg bruke en funksjon på hvert element i arrayen
  • metodene some og every,
    som utfører sjekk av arrayen
  • metodene reduce og reduceRight,
    som reduserer arrayen til en enkelt verdi