متد Array.find در JavaScript چیست؟
متد Array.find در JavaScript یک راه ساده و کاربردی برای پیدا کردن و برگرداندن اولین عنصری است که یک شرط مشخص (تابع تست) را در یک آرایه پاس میکند.
وقتی فقط به یک سوزن از داخل انبار کاه نیاز داری، بهترین انتخاب find() است!
چه زمانی از Array.find استفاده کنیم؟
از نظر سینتکس و عملکرد، متد find() بسیار شبیه به Array.filter است، با این تفاوتهای مهم:
-
find()فقط اولین عنصر منطبق با شرط را برمیگرداند -
اگر هیچ عنصری پیدا نشود، مقدار
undefinedبرمیگرداند -
filter()همیشه آرایهای از نتایج (صفر یا بیشتر) برمیگرداند
نتیجه:
-
اگر فقط یک مقدار میخواهی →
find() -
اگر چند مقدار میخواهی →
filter()
نحوه استفاده از Array.find
استفاده از find() خیلی ساده است. تنها پارامتر اجباری آن یک تابع تست (testing function) است:
مثال ساده
یک مثال ساده با آرایهای از رشتهها:
همان مثال بدون ES6 و arrow function:
استفاده از Array.find با Objectها
متد find() برای جستجو در آرایهای از Objectها هم بسیار کاربردی است:
توجه: فقط اولین نتیجه برگردانده میشود
اگر شرط شما چند نتیجه داشته باشد، find() فقط اولین مورد را برمیگرداند:
در این حالت، اگر همهی نتایج را نیاز دارید، بهتر است از filter() استفاده کنید.
نکته حرفهای: جدا کردن تابع تست
گاهی لازم است از یک شرط یکسان در چند جای مختلف استفاده کنید. در این حالت، بهتر است تابع تست را جداگانه تعریف کنید.
مثال:
ساده، تمیز و قدرتمند
استفاده از پارامتر index
مانند filter()، متد find() هم یک پارامتر اختیاری index در اختیار شما میگذارد:
معمولاً زیاد به index نیاز پیدا نمیکنید، اما دانستن وجود آن در بعضی سناریوها بسیار مفید است.
جمعبندی (Conclusion)
متد Array.find یک ابزار ساده اما بسیار قدرتمند برای جستجو در آرایههای JavaScript است.
به خاطر بسپارید:
-
find()→ فقط یک عنصر برمیگرداند -
اگر چیزی پیدا نشود →
undefined -
برای چند نتیجه → از
filter()استفاده کنید
اگر میخواهید با سایر متدهای آرایه در JavaScript بیشتر آشنا شوید، مطالعهی راهنمای کامل Array Methods بسیار توصیه میشود.
از همراه یشما با پارمین کلود متشکریم.
نظرات کاربران