Metode filter

Die metode filter laat jou toe om elemente van 'n array te filter, en slegs dié elemente te hou wat aan 'n sekere voorwaarde voldoen. Die metode neem 'n funksie as parameter, wat vir elke element van die array uitgevoer sal word. Die metode gee 'n nuwe array as resultaat terug, wat slegs die elemente sal bevat waarvoor die gegewe funksie true teruggee.

Jy kan drie parameters aan die funksie gee. As hierdie parameters bestaan (hulle is nie verpligtend nie), dan sal die eerste een outomaties die element van die array wees, die tweede een sal sy nommer in die array wees (indeks), en die derde een - die array self.

Sintaksis

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

Voorbeeld

Kom ons filter die array, en laat slegs positiewe getalle daarin:

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);

Resultaat van die kode-uitvoering:

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

Voorbeeld

Laat ons die kode verkort deur gebruik te maak van pylfunksies:

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);

Resultaat van die kode-uitvoering:

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

Voorbeeld

Laat ons die kode verkort deur gebruik te maak van verkorting van logiese bewerkings:

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

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

console.log(res);

Resultaat van die kode-uitvoering:

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

Voorbeeld

Laat ons die kode verkort deur gebruik te maak van die eienskappe van pylfunksies:

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

console.log(res);

Resultaat van die kode-uitvoering:

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

Voorbeeld

Indien nodig kan die array self as die derde parameter gegee word:

javascriptlet res = arr.filter(function(elem, indeks, arr) {
  die array arr sal hier beskikbaar wees
});

Sien ook

  • metodes map en forEach,
    wat jou toelaat om 'n funksie op elke element van die array toe te pas
  • metodes some en every,
    wat toetsing op die array uitvoer
  • metodes reduce en reduceRight,
    wat die array tot een waarde saamvat