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()
në 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()
në MDN web doc
Dallimi midis find()
dhe filter()
- 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.