JavaScript-ի find() մեթոդը
Մանրամասներ , օրինակներ, պրակտիկա
JavaScript-ի find() մեթոդը
Երբ պետք է զանգվածից գտնես առաջին արժեքը, որը բավարարում է որոշակի պայման, ապա լավագույն ընտրությունը find() մեթոդն է։
Այն վերադարձնում է առաջին տարրը, որը բավարարում է քո սահմանած callback ֆունկցիային։ Եթե ոչ մի բան չի համընկնում՝ վերադարձնում է undefined։
Սինտաքս
array.find(function(element, index, array) {
// վերադարձնում է true/false
});
Պարամետրեր
- element – ընթացիկ տարրը
- index – ընթացիկ ինդեքսը
- array – ամբողջ զանգվածը
Պարզ օրինակ
const users = [
{ id: 1, name: 'Anna' },
{ id: 2, name: 'David' },
{ id: 3, name: 'Levon' }
];
const foundUser = users.find(user => user.id === 2);
console.log(foundUser); // { id: 2, name: 'David' }
Վերադարձնում է առաջին օգտատիրոջը, ում id-ն հավասար է 2։
Եթե ոչինչ չի գտնվում վերադարձնում է undefined
Օրինակ
const result = users.find(user => user.id === 5);
console.log(result); // undefined
Համեմատություն filter()-ի հետ
- filter() միշտ վերադարձնում է array
- find() վերադարձնում է միայն առաջին համընկնող տարրը կամ undefined
const even = [1, 2, 3, 4, 5].find(n => n % 2 === 0); // 2
const evenList = [1, 2, 3, 4, 5].filter(n => n % 2 === 0); // [2, 4]
Ինչպես է աշխատում find() մեթոդը ներքուստ
Երբ կանչում ենք՝
[1, 2, 3].find(fn);
Սա նույնն է ինչ՝
Array.prototype.find.call([1, 2, 3], fn);
Գրենք մեր սեփական myFind() ֆունկցիան զրոյից
function myFind(array, callback) {
for (let i = 0; i < array.length; i++) {
if (callback(array[i], i, array)) {
return array[i];
}
}
return undefined;
}
Օգտագործման օրինակ՝
const items = [10, 20, 30, 40];
const found = myFind(items, function(item) {
return item > 25;
});
console.log(found); // 30
Որպես մեթոդ կցենք զանգվածին
Array.prototype.myFind = function(callback) {
for (let i = 0; i < this.length; i++) {
if (callback(this[i], i, this)) {
return this[i];
}
}
return undefined;
};
Օգտագործում ենք՝
const numbers = [5, 10, 15, 20];
const found = numbers.myFind(n => n > 10);
console.log(found); // 15
Եզրակացություն
- find()-ը փնտրում է առաջին արժեքը, որը բավարարում է որոշակի պայման։
- Եթե ոչինչ չի գտնվում, վերադարձնում է undefined։
- Հարմար է երբ պետք է գտնես մեկ տարր
- Կարող ես գրել քո սեփական տարբերակը՝ պարզ for ցիկլով։
- 0
- 14
Մեկնաբանություններ
Մեկնաբանություն չկա։ Կարող ես լինել առաջինը։
Գրել մեկնաբանություն
ՄԵկնաբանություն ավելացնելու համար պետք է մուտք գործելՄուտք