Metoda filter

Metoda filter lejon filtrimin e elementeve të vargut, duke lënë vetëm ato që i përshtaten një kushti të caktuar. Metoda merr në parametër një funksion, i cili do të ekzekutohet për çdo element të vargut. Si rezultat, metoda kthen një varg të ri, në të cilin do të përfshihen vetëm ata elementë për të cilët funksioni i transmetuar kthen true.

Në funksion mund të transmetohen tre parametra. Nëse këto parametra ekzistojnë (ato nuk janë të detyrueshme), atëherë në të parën automatikisht do të vendoset elementi i vargut, në të dytën do të vendoset numri i tij në varg (indeksi), dhe në të tretën - vetë vargu.

Sintaksa

javascriptlet vargu i ri = vargu.filter(function(elementi, indeksi, vargu) {
  kodi
  return true ose false
});

Shembull

Le të filtrojmë vargun, duke lënë në të vetëm numrat pozitivë:

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

Rezultati i ekzekutimit të kodit:

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

Shembull

Le ta shkurtojmë kodin, duke përdorur funksionin shigjetor:

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

Rezultati i ekzekutimit të kodit:

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

Shembull

Le ta shkurtojmë kodin, duke përdorur shkurtimin e operacioneve logjike:

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

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

console.log(res);

Rezultati i ekzekutimit të kodit:

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

Shembull

Le ta shkurtojmë kodin, duke përdorur veçoritë e funksioneve shigjetor:

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

console.log(res);

Rezultati i ekzekutimit të kodit:

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

Shembull

Nëse është e nevojshme, në parametrin e tretë mund të transmetohet vetë vargu:

javascriptlet res = arr.filter(function(elem, index, arr) {
  këtu do të jetë i disponueshëm vargu arr
});

Shihni gjithashtu

  • metodat map dhe forEach,
    të cilat lejojnë aplikimin e një funksioni për çdo element të vargut
  • metodat some dhe every,
    që kryejnë kontroll të vargut
  • metodat reduce dhe reduceRight,
    që e sheshojnë vargun në një vlerë të vetme