متدهای find و findIndex در جاوااسکریپت - آزمون آنلاین چهار گزینه ای
این آزمون در مورد زبان برنامه نویسی جاوااسکریپت هست که قراره بهت کمک کنه میزان تسلطت رو روی یکی از مهمترین مباحث این زبان، یعنی کار با آرایهها، بسنجی. پس اگه میخوای ببینی چقدر دستت توی این زمینه روونه، جای درستی اومدی.
متدهای find و findIndex در جاوااسکریپت
اگر با جاوااسکریپت کار کرده باشی، حتماً میدونی که آرایهها چه نقش مهمی در نگهداری و مدیریت دادهها دارن.
برای همین، جاوااسکریپت کلی متد مختلف برای کار با آرایهها به ما داده که هر کدومشون یه کاری رو انجام میدن. دو تا از این متدهای خیلی پرکاربرد find و findIndex هستن.
ممکنه قبلاً ازشون استفاده کرده باشی یا شاید هم اولین باره که اسمشون رو میشنوی. با این حال، دونستن اینکه چطور و کجا ازشون استفاده کنی، میتونه کلی کدنویسیت رو حرفهایتر کنه.

متد find: پیدا کردن اولین عضو مطابق با شرط
وقتی یه آرایه داری و میخوای اولین عنصری رو پیدا کنی که با یه شرط خاصی که خودت تعیین میکنی، سازگار باشه، متد find به کارت میاد.
این متد یه تابع به عنوان ورودی میگیره و برای هر عضو آرایه اون تابع رو اجرا میکنه. به محض اینکه اون تابع برای یک عضو true برگردونه، find کارش رو متوقف میکنه و همون عضو رو بهت پس میده.
اگر هم هیچ عضوی پیدا نشه، مقدار undefined رو برمیگردونه.
فرض کن یه آرایه از محصولات داری و میخوای محصولی رو پیدا کنی که قیمتش زیر 100 هزار تومان باشه. با find خیلی راحت میتونی این کار رو انجام بدی.
const products = [
{ id: 1, name: 'Laptop', price: 1200 },
{ id: 2, name: 'Keyboard', price: 75 },
{ id: 3, name: 'Mouse', price: 50 },
];
const affordableProduct = products.find(product => product.price < 100);
// affordableProduct: { id: 2, name: 'Keyboard', price: 75 }
متد findIndex: پیدا کردن ایندکس عضو مورد نظر
حالا فرض کن به جای خودِ عضو، دنبال ایندکس یا موقعیت اولین عضو مطابق با شرط هستی. اینجا findIndex به کمکت میاد. این متد هم شبیه find عمل میکنه، با این تفاوت که به جای خودِ عضو، ایندکس اون رو بهت پس میده.
اگر هم هیچ عنصری پیدا نشه، مقدار -1 رو برمیگردونه.
مثلاً میخوای بدونی اون محصولی که قیمتش زیر 100 هزار تومانه، توی آرایه در چه موقعیتی قرار داره. کافیه از findIndex استفاده کنی.
const products = [
{ id: 1, name: 'Laptop', price: 1200 },
{ id: 2, name: 'Keyboard', price: 75 },
{ id: 3, name: 'Mouse', price: 50 },
];
const affordableProductIndex = products.findIndex(product => product.price < 100);
// affordableProductIndex: 1
کاربردها و تفاوتهای مهم
با انجام این کوییز میتونی میزان مهارت و تسلطت رو درباره این دو متد کاربردی بسنجی و همزمان اطلاعات خوبی هم در موردشون به دست بیاری. در این آزمون با سوالاتی در مورد تفاوتها و کاربردهای find و findIndex روبهرو میشی. مثلاً ازت میپرسم:
- چه زمانی از
findاستفاده میکنی و چه زمانی ازfindIndex؟ - اگر هیچ عنصری پیدا نشه، هر کدام چه مقداری برمیگردونن؟
- چطور میشه از این متدها برای پیدا کردن یک شیء خاص در یک آرایه از اشیاء استفاده کرد؟
این سوالات بهت کمک میکنن درک عمیقتری از این دو متد پیدا کنی. با شرکت در این آزمون، متوجه میشی که چطور این متدها میتونن کدهای تو رو تمیزتر و خواناتر کنن و از نوشتن حلقههای تکراری برای پیدا کردن عناصر جلوگیری کنن.
جدول مقایسه متدهای find و findIndex
| ویژگی | find |
findIndex |
|---|---|---|
| خروجی | اولین عنصری که شرط رو برآورده میکنه | ایندکس اولین عنصری که شرط رو برآورده میکنه |
| مقدار در صورت عدم یافتن | undefined |
-1 |
| کاربرد اصلی | بازیابی دادهها از آرایه | پیدا کردن موقعیت داده در آرایه |
آخرین نکته
آمادهای که دانشت رو به چالش بکشی و ببینی چقدر توی این مبحث قوی هستی؟ روی دکمه شروع بزن تا وارد این آزمون هیجانانگیز بشی و خودت رو بسنجی.