Cili është ndryshimi midis metodave find() dhe filter() në JavaScript

JavaScript ka shumë metoda të grupeve në ES6. Çdo metodë ka përdorim dhe përfitime unike.

Gjatë zhvillimit të aplikacioneve, kryesisht përdorin metoda të grupeve për të marrë listën specifike të vlerave dhe për të marrë artikuj të vetëm ose të shumëfishtë të përputhjes.

Para se të renditim ndryshimin midis të dyja metodave, ne i kuptojmë metodat një nga një.

Gjetja e Array JavaScript ()

Metoda ES6 find() kthen vlerën e elementit të parë që kalon një funksion testimi. Nëse asnjë vlerë nuk e plotëson funksionin e testimit, undefined kthehet.

Sintaksë

Funksioni i shigjetës përdoret në sintaksën e mëposhtme.

find((element) => { /* ... */ } )
find((element, index) => { /* ... */ } )
find((element, index, array) => { /* ... */ } )

Ne kemi një listë të objekteve të përdoruesve me vetitë name age dhe id si më poshtë:

let users = [{
    id:1,
    name: 'John',
    age: 22
}, {
    id:2,
    name: 'Tom',
    age: 22
}, {
    id:3,
    name: 'Balaji',
    age: 24
}];

Kodi i mëposhtëm përdor metodën find() për të gjetur përdoruesin e parë mosha e të cilit është më e madhe se 23.

console.log(users.find(user => user.age > 23));
//console
//{ id: 3, name: 'Balaji', age:24}

Tani do të gjejmë përdoruesin e parë që ka moshën 22 vjeç

console.log(users.find(user => user.age === 22));
//console
//{ id: 1, name: 'John', age:22}

Supozoni se nuk u gjet asnjë përputhje do të thotë se kthen undefined

console.log(users.find(user => user.age === 25));
//console
//undefined

Mësoni më shumë metodën find()MDN web doc

Filtri i grupit JavaScript ()

Metoda filter() krijon një grup të ri me të gjithë elementët që kalojnë një funksion testimi. Nëse asnjë element nuk e kënaq funksionin e testimit, ktheni një grupempty.

Sintaksë

filter((element) => { /* ... */ } )
filter((element, index) => { /* ... */ } )
filter((element, index, array) => { /* ... */ } )

Ne do të përdorim të njëjtin grup users dhe funksione testimi për shembuj filtri.

Kodi i mëposhtëm përdor metodën filter() për të gjetur përdoruesin e parë mosha e të cilit është më e madhe se 23.

console.log(users.filter(user => user.age > 23));
//console
//[{ id: 3, name: 'Balaji', age:24}]

Tani kalojmë në filtrin e përdoruesit, mosha e të cilit është 22 vjeç

console.log(users.filter(user => user.age === 22));
//console
//[{ id: 1, name: 'John', age:22},{ id: 2, name: 'Tom', age:22}]

Supozoni se nuk u gjet asnjë përputhje do të thotë se kthen një grupempty

console.log(users.filter(user => user.age === 25));
//console
//[]

Mësoni më shumë metodën filter()MDN web doc

Dallimi midis find() dhe filter()

  1. Funksioni i rendit më të lartë

Të dy funksionet janë funksione të rendit më të lartë.

2. Kalon një funksion testimi

find() ktheni elementin e parë

filter() kthen një grup të ri me të gjithë elementët që kalojnë një funksion testimi

3. Nëse asnjë vlerë nuk e plotëson funksionin e testimit

find() kthim undefined

filter() kthen një grup empty

Shtoni komentet tuaja nëse kam humbur ndonjë ndryshim.

Më shumë përmbajtje në plainenglish.io. Regjistrohu për buletinin tonë javor falas këtu.