Include در جاوا اسکریپت – راهنمای استفاده + مثال و کد


در زبان برنامه نویسی جاوا اسکریپت، متد includes()به عنوان ابزاری ارزشمند برای تعیین وجود «رشتهای» (استرینگ | String) در رشته دیگر عمل میکند. includes()در اصلی یکی از متدهای جاوا اسکریپت است و کاربردهای فراوانی در سناریوهای مختلف دارد. همچنین استفاده از این متد جاوا اسکریپت به کاربران این امکان را میدهد که در آرایهها امکان وجود عناصر مشخصی را بررسی کنند. این کاربردها و بسیاری از موارد استفاده دیگر، برنامه نویسان جاوا اسکریپت را ملزم به یادگیری این متد میکند و بر اساس همین نیاز در این مطلب آموزشی از «مجله فرادرس» این بار قصد داریم که متد Include در جاوا اسکریپت را با زبانی ساده و به همراه مثالهای عملی تشریح کنیم.
- با ساختار و کاربرد متد include در زبان برنامهنویسی جاوا اسکریپت آشنا میشوید.
- میآموزید پارامترهای متد include چه هستند و چه کاربردی دارند.
- میتوانید حساس بودن متد include به حروف بزرگ و کوچک را تشخیص دهید.
- با پارامتر موقعیت شروع جستجو در متد include آشنا میشوید.
- چند مثال متنوع از کاربرد متد include در جاوا اسکریپت را یاد میگیرید.
- میآموزید مقدار بازگشتی متد include در شرایط مختلف چه مقداری خواهد بود.
متد Include در جاوا اسکریپت چیست؟
در زمینه برنامه نویسی جاوا اسکریپت، متد «includes» به عنوان متدی ارزشمند برای اطمینان از وجود رشتهای در رشته دیگر یا برای اطمینان از وجود عنصری در آرایه عمل میکند. اگر رشته یا عنصر مورد جستجو در آرایه یا رشته مقصد یافت شود، این متد نتیجه «True» را بازمیگرداند و برعکس اگر رشته یا عنصر مورد جستجو در آرایه یا رشته مقصد یافت نشود این بار نتیجه متد includes به «False» ارزیابی میشود.
توجه به این نکته مهم است که متد includes()به حروف کوچک و بزرگ حساس بوده که این امر در یافتن عناصر مدنظر دخیل است. این بدان معناست که اگر حروف رشته اصلی کاملاً با حروف رشته مورد جستجو مطابق و هماهنگ نباشد، متد مقدار falseرا برمیگرداند. علاوه بر این، پارامتر optionalPositionیا پارامتر موقعیت اختیاری به عنوان نوعی مقدار عددی انتخابی نقطه شروع جستجو برای عنصر یا رشته مورد جستجو را تعیین میکند. در مواردی که پارامتر optionalPositionحذف میشود، مقدار پیشفرض برای اندیس یا نقشه شروع جستجو، مقدار «صفر» در نظر گرفته خواهد شد.

در ادامه این مطلب تمامی مباحث گفته شده در مورد Include در جاوا اسکریپت پوشش داده میشود.
سینتکس متد Include در Javascript
متد includes()در جاوا اسکریپت دارای «سینتکسی» (Syntax) به صورت زیر است:
در سینتکس بالا، پارامتر searchStringنشاندهنده رشته هدفی است که کاربر میخواهد درstrآن را بیابد. همچنین پارامتر optionalPositionبه عنوان نوعی مقدار عددی انتخابی است که نقطه شروع جستجوی اولیه را در strنشان میدهد. اگر پارامتر optionalPositionحذف شود، مقدار پیشفرض صفر به آن اختصاص داده خواهد شد. پس از یافتن searchString، این متد نتیجه Trueبازمیگرداند. برعکس، اگر searchStringیافت نشود، متد falseرا بازخواهد گرداند.
پارامترهای متد Include در جاوا اسکریپت
اگر متد Include در جاوا اسکریپت برای کار روی آرایهها مدنظر باشد آنوقت کمی تفاوت در پارامترهای آن ظاهر میشود. سینتکس زیر برای این موضوع مدنظر است:
در این زمینه، اصطلاح arrنوعی آرایه را نشان میدهد. متد includes()قادر است دو پارامتر مجزای زیر را در خود جای دهد:
- searchValue: این نشاندهنده ارزش جستجو شده است.
- «fromIndex»(اختیاری): این نشاندهنده موقعیت شروع آرایه برای جستجو بوده که اندیس شروع پیشفرض صفر است.
نکته مهم: هنگام برخورد با مقادیر منفی، شروع جستجوی رشته یا عنصر مد نظر در رشته یا آرایه اصلی به array.length + fromIndexتغیر میکند و عملاً شروع جستجو از انتهای آرایه آغاز میشود. به عنوان مثال، هنگامی که از مقدار -1به عنوان اندیس شروع استفاده شود در نتیجه شروع جستجو به عنصر نهایی آرایه ارجاع خواهد شد.
مقدار بازگشتی متد include
پس از فراخوانی، متد includes()نتایج زیر را ارائه میدهد:
- True: این نتیجه در صورتی ظاهر میشود که searchValueدر هرجایی از آرایه شناسایی شود.
- false: این نتیجه هم زمانی که searchValueدر سراسر آرایه وجود نداشته باشد، بازگردانده خواهد شد،
مثال متد include در Javascript
در این بخش به بررسی چند مثال از متد includes()خواهیم پرداخت. مثال زیر برای تشخیص کلمهای خاص در رشته مدنظر آورده شده است. برای مثال فرض میشود که رشته I love Faradarsموجود است. حال ما میخواهیم تعیین کنیم که کلمه loveدر این رشته وجود دارد یا خیر. در قطعه کد زیر، متغیر strنشان دهنده I love Faradarsو رشته مورد جستجو loveاست.
با توجه به اینکه عبارت loveواقعاً در رشتهstrوجود دارد، اجرای این کد نتیجه Trueرا به همراه خواهد داشت که خروجی آن در کنسول به صورت زیر است.

آیا متد Includes به حروف کوچک و بزرگ حساس است؟
بله متد Includes به حروف کوچک و بزرگ حساس است و در استفاده از آن برای بازیابی رشتههای مدنظر باید این نکته توجه داشت چون در غیر این صورت نتیجه عکس و خلاف واقع بازگردانی میشود. برای مثال اگر مثال قبلstrرا به I LOVE Faradarsتغییر داده و رشته مورد جستجو همان رشته love باشد چه اتفاقی خواهد افتاد؟
این بار نتیجه در کنسول همانطور که در تصویر زیر نشان داده شده است، مقدارfalseخواهد بود.

این نتیجه به دلیل حساس بودن متد Include در جاوا اسکریپت به حروف بزرگ و کوچک است. در مورد مثال بالا رشته LOVEبا رشته loveمطابقت دقیقی ندارد.
پارامتر موقعیت اختیاری در متد includes
با استناد به مثال بالا در این بخش به استفاده از پارامتر موقعیت اختیاری در متد includes()پرداخته خواهد شد. اکنون هدف این است که بررسی شود که آیا عبارت loveدر رشته I LOVE Faradarsزمانی که اندیس شروع جستجو به موقعیت 1تغییر میکند وجود خواهد داشت یا خیر.
باید به این نکته توجه داشته که رشتهها به اندیسسازی مبتنی بر صفر متکی هستند، به این معنی که کاراکتر اولیه رشته یعنی حرف lدارای اندیس صفر است. با این شرایط کد به دلیل تغییر اندیس شروع جستجو به lنتیجه Trueرا بازمیگرداند. شروع جستجو از موقعیتlبه رشته loveاجازه میدهد تا در اندیس یا موقعیت 2به بعد ظاهر شود و بدین شکل به صورت کامل در رشته قرار میگیرد. اندیس lتا انتهای جمله شامل این کاراکترها و فاصلهها میشود.
" love freeCodeCamp"
توجه به این نکته مهم است که فضاهای درون رشتهها یا همان فضاهای خالی دارای مقادیر اندیس مختص به خود هستند. در کل کد مثال بالا با ادغام پارامتر موقعیت به صورت زیر است:
خروجی مثال بالا به صوت زیر است:

حال اگر پارامتر موقعیت به 3تغییر یابد این بار نتیجه به falseارزیابی میشود که مثال زیر این موضوع را نشان میدهد:
خروجی کد بالا این بار به صورت زیر است:

این نتیجه به دلیل وجود پارامتر موقعیت با مقدار 3اتفاق افتاده که حرف oرا در خود جای داده است. از موقعیت3تا پایان جمله، کاراکترها و فاصلههای زیادی به صورت زیر موجود هستند.
بدیهی است که عبارت کامل loveدر رشته فوق رشته وجود ندارد. در ادامه چند مثال دیگر از متد include در جاوا اسکریپت ارائه خواهد شد.
چند مثال از متد include در جاوا اسکریپت
برای تفهیم و درک بهتر متد include در زبان برنامه نویسی جاوا اسکریپت در این بخش ٣ مثال کاربردی و مهم با هدف پوشش جنبههای مختلف این متد ارائه خواهد شد. توجه به جزئیات این مثالها برای درک بهتر این متد لازم و ضروری است.
مثال ١. استفاده از متد include در جاوا اسکریپت
قطعه کد مثال ١ که از متد includes()استفاده کرده به صورت زیر است:
خروجی مثال فوق به صورت زیر است:
true false
در مثال فوق ، متد includes()برای بررسی دقیق حضور عناصر Cو Rubyدر آرایه languagesاستفاده شده است. برای مثال بالا خط languages.includes("C")به نتیجه Trueارزیابی میشود زیرا آرایه مد نظر عنصر زبانCرا در برمیگیرد. برعکس، خط languages.includes("Ruby")به Falseارزیابی خواهد شد زیرا آرایه فاقد عنصر Rubyاست.
مثال ٢. استفاده از برای include جستجوی حساس به حروف بزرگ
مثال زیر ماهیت حساس بودن به حروف کوچک و بزرگ متد include در جاوا اسکریپت را نشان میدهد که قطعه کد آن به صورت زیر است:
خروجی مثال فوق به صورت زیر است:
true false
در سناریوی فوق، متد includes()حساس بودن به حروف کوچک و بزرگ خود را نشان میدهد. در این رابطه خط languages.includes ("Python")به Trueارزیابی میشود. در مقابل، خط languages.includes ("python")به Falseمنجر خواهد شد. این نتایج ناشی از رفتار حساس به حروف کوچک و بزرگ این متد است که بین «Python» و «python»به عنوان رشتههای مجزا تمایز قائل میشود.

مثال ٣. متد include در Javascript با دو پارامتر
مثال زیر نحوه استفاده از متد include در جاوا اسکریپت را با دو پارامتر بیان میکند که قطعه کد آن به صورت زیر است:
خروجی مثال فوق به صورت زیر است:
false true
در مثال بالا، متد includes()با دو مقدار آرگومان فراخوانی میشود. خط languages.includes("Java", 2)در مثال بالا به Falseارزیابی خواهد شد. این اتفاق به این دلیل رخ داده است که متد includes()نمیتواند Javaرا که از اندیس دوم آرایه شروع میشود، پیدا کند. در مقابل برای خط languages.includes("Java", -3))، متد به دلیل آرگومان منفی با مقدار -3، جستجوی Javaرا از سومین عنصر آخر آغاز میکند و این بار نتیجه به Trueارزیابی میشود.
سخن پایانی
همانطور که بیان شد متد include در جاوا اسکریپت به منظور یافتن عناصر یا رشتههای مدنظر در آرایهها و رشتههای دیگر موارد استفاده قرار میگیرد. در مطلب فوق از مجله فرادرس در کنار توضیح مفاهیم مربوط به این متد، نحوه استفاده از آن در سناریوهای عملی و مختلف نیز ارائه شد.
همچنین چندین مثال مختلف برای نشان دادن جنبههای مختلفی که ممکن است کاربران در استفاده از این متد با آن مواجه شوند نیز پوشش داده شد. جنبههایی مانند حساس بودن به حروف کوچک و بزرگ، استفاده از پارامترهای دوگانه و حتی استفاده از پارامتر موقعیت منفی. به امید اینکه مطلب فوق درک نسبتاً خوبی از متد include در جاوا اسکریپت به کاربران عزیز مجله داده باشد.