Khachatryan-dev

JavaScript-ի find() մեթոդը

Մանրամասներ , օրինակներ, պրակտիկա

Aram
Khachatryan

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 ցիկլով։
5.00 / 1
Buy me a coffee
  • 0
  • 14

Բացահայտիր Նոր գիտելիքներ

Մեկնաբանություններ
No data
Մեկնաբանություն չկա։ Կարող ես լինել առաջինը։
Գրել մեկնաբանություն
ՄԵկնաբանություն ավելացնելու համար պետք է մուտք գործելՄուտք