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

۴۳۵ بازدید
آخرین به‌روزرسانی: ۰۴ شهریور ۱۴۰۲
زمان مطالعه: ۶ دقیقه
Include در جاوا اسکریپت – راهنمای استفاده + مثال و کد

در زبان برنامه نویسی جاوا اسکریپت، متد includes()به عنوان ابزاری ارزشمند برای تعیین وجود «رشته‌ای» (استرینگ | String) در رشته دیگر عمل می‌کند. includes()در اصلی یکی از متدهای جاوا اسکریپت است و کاربردهای فراوانی در سناریوهای مختلف دارد. همچنین استفاده از این متد جاوا اسکریپت به کاربران این امکان را می‌دهد که در آرایه‌ها امکان وجود عناصر مشخصی را بررسی کنند. این کاربردها و بسیاری از موارد استفاده دیگر، برنامه نویسان جاوا اسکریپت را ملزم به یادگیری این متد می‌کند و بر اساس همین نیاز در این مطلب آموزشی از «مجله فرادرس» این بار قصد داریم که متد Include در جاوا اسکریپت را با زبانی ساده و به همراه مثال‌های عملی تشریح کنیم.

997696

متد Include در جاوا اسکریپت چیست؟

در زمینه برنامه نویسی جاوا اسکریپت، متد «includes» به عنوان متدی ارزشمند برای اطمینان از وجود رشته‌ای در رشته دیگر یا برای اطمینان از وجود عنصری در آرایه عمل می‌کند. اگر رشته یا عنصر مورد جستجو در آرایه یا رشته مقصد یافت شود، این متد نتیجه «True» را بازمی‌گرداند و برعکس اگر رشته یا عنصر مورد جستجو در آرایه یا رشته مقصد یافت نشود این بار نتیجه متد includes به «False» ارزیابی می‌شود.

توجه به این نکته مهم است که متد includes()به حروف کوچک و بزرگ حساس بوده که این امر در یافتن عناصر مدنظر دخیل است. این بدان معناست که اگر حروف رشته اصلی کاملاً با حروف رشته مورد جستجو مطابق و هماهنگ نباشد، متد مقدار falseرا برمی‌گرداند. علاوه بر این، پارامتر optionalPositionیا پارامتر موقعیت اختیاری به عنوان نوعی مقدار عددی انتخابی نقطه شروع جستجو برای عنصر یا رشته مورد جستجو را تعیین می‌کند. در مواردی که پارامتر optionalPositionحذف می‌شود، مقدار پیش‌فرض برای اندیس یا نقشه شروع جستجو، مقدار «صفر» در نظر گرفته خواهد شد.

برنامه نویس پشت میز و در حال کار - include دز جاوا اسکریپت

در ادامه این مطلب تمامی مباحث گفته شده در مورد Include در جاوا اسکریپت پوشش داده می‌شود.

سینتکس متد Include در Javascript

متد includes()در جاوا اسکریپت دارای «سینتکسی» (Syntax) به صورت زیر است:

1str.includes(searchString, optionalPosition)

در سینتکس بالا، پارامتر searchStringنشان‌دهنده رشته هدفی است که کاربر می‌خواهد درstrآن را بیابد. همچنین پارامتر optionalPositionبه عنوان نوعی مقدار عددی انتخابی است که نقطه شروع جستجوی اولیه را در strنشان می‌دهد. اگر پارامتر optionalPositionحذف شود، مقدار پیش‌فرض صفر به آن اختصاص داده خواهد شد. پس از یافتن searchString، این متد نتیجه Trueبازمی‌گرداند. برعکس، اگر searchStringیافت نشود، متد falseرا بازخواهد گرداند.

پارامترهای متد Include در جاوا اسکریپت

اگر متد Include در جاوا اسکریپت برای کار روی آرایه‌ها مدنظر باشد آن‌وقت کمی تفاوت در پارامترهای آن ظاهر می‌شود. سینتکس زیر برای این موضوع مدنظر است:

1arr.includes(valueToFind, fromIndex)

در این زمینه، اصطلاح arrنوعی آرایه را نشان می‌دهد. متد includes()قادر است دو پارامتر مجزای زیر را در خود جای دهد:

  1. searchValue: این نشان‌دهنده ارزش جستجو شده است.
  2. «fromIndex»(اختیاری): این نشان‌دهنده موقعیت شروع آرایه برای جستجو بوده که اندیس شروع پیش‌فرض صفر است.

نکته مهم: هنگام برخورد با مقادیر منفی، شروع جستجوی رشته یا عنصر مد نظر در رشته یا آرایه اصلی به array.length + fromIndexتغیر می‌کند و عملاً شروع جستجو از انتهای آرایه آغاز می‌شود. به عنوان مثال، هنگامی که از مقدار -1به عنوان اندیس شروع استفاده شود در نتیجه شروع جستجو به عنصر نهایی آرایه ارجاع خواهد شد.

مقدار بازگشتی متد include

پس از فراخوانی، متد includes()نتایج زیر را ارائه می‌دهد:

  • True: این نتیجه در صورتی ظاهر می‌شود که searchValueدر هرجایی از آرایه شناسایی شود.
  • false: این نتیجه هم زمانی که searchValueدر سراسر آرایه وجود نداشته باشد، بازگردانده خواهد شد،

مثال متد include در Javascript

در این بخش به بررسی چند مثال از متد includes()خواهیم پرداخت. مثال زیر برای تشخیص کلمه‌ای خاص در رشته مدنظر آورده شده است. برای مثال فرض می‌شود که رشته I love Faradarsموجود است. حال ما می‌خواهیم تعیین کنیم که کلمه loveدر این رشته وجود دارد یا خیر. در قطعه کد زیر، متغیر strنشان دهنده I love Faradarsو رشته مورد جستجو loveاست.

1"I love Faradars".includes("love")

با توجه به اینکه عبارت loveواقعاً در رشتهstrوجود دارد، اجرای این کد نتیجه Trueرا به همراه خواهد داشت که خروجی آن در کنسول به صورت زیر است.

مثال متد اینکلود در جاوا اسکریپت که نتیجه صحیح را به همراه دارد.

آیا متد Includes به حروف کوچک و بزرگ حساس است؟

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

1"I LOVE Faradars".includes('love')

این بار نتیجه در کنسول همان‌طور که در تصویر زیر نشان داده شده است، مقدارfalseخواهد بود.

آموزش متد includes در مثالی که نتیجه نادرست را به همراه دارد.

این نتیجه به دلیل حساس بودن متد Include در جاوا اسکریپت به حروف بزرگ و کوچک است. در مورد مثال بالا رشته LOVEبا رشته loveمطابقت دقیقی ندارد.

پارامتر موقعیت اختیاری در متد includes

با استناد به مثال بالا در این بخش به استفاده از پارامتر موقعیت اختیاری در متد includes()پرداخته خواهد شد. اکنون هدف این است که بررسی شود که آیا عبارت loveدر رشته I LOVE Faradarsزمانی که اندیس شروع جستجو به موقعیت 1تغییر می‌کند وجود خواهد داشت یا خیر.

باید به این نکته توجه داشته که رشته‌ها به اندیس‌سازی مبتنی بر صفر متکی هستند، به این معنی که کاراکتر اولیه رشته یعنی حرف lدارای اندیس صفر است. با این شرایط کد به دلیل تغییر اندیس شروع جستجو به lنتیجه Trueرا بازمی‌گرداند. شروع جستجو از موقعیتlبه رشته loveاجازه می‌دهد تا در اندیس یا موقعیت 2به بعد ظاهر شود و بدین شکل به صورت کامل در رشته قرار می‌گیرد. اندیس lتا انتهای جمله شامل این کاراکترها و فاصله‌ها می‌شود.

" love freeCodeCamp"

توجه به این نکته مهم است که فضاهای درون رشته‌ها یا همان فضاهای خالی دارای مقادیر اندیس مختص به خود هستند. در کل کد مثال بالا با ادغام پارامتر موقعیت به صورت زیر است:

1"I love Faradars".includes('love', 1)

خروجی مثال بالا به صوت زیر است:

پارامتر موقعیت اختیاری در متد includes که نتیجه صحیح را به همراه داشته است.

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

1"I love Faradars".includes('love', 3)

خروجی کد بالا این بار به صورت زیر است:

آموزش متد اینکلود در جاوا اسکریپت که نتیجه false را به همراه داشته است.

این نتیجه به دلیل وجود پارامتر موقعیت با مقدار 3اتفاق افتاده که حرف oرا در خود جای داده است. از موقعیت3تا پایان جمله، کاراکترها و فاصله‌های زیادی به صورت زیر موجود هستند.

1"ove freeCodeCamp"

بدیهی است که عبارت کامل loveدر رشته فوق رشته وجود ندارد. در ادامه چند مثال دیگر از متد include در جاوا اسکریپت ارائه خواهد شد.

چند مثال از متد include در جاوا اسکریپت

برای تفهیم و درک بهتر متد include در زبان برنامه نویسی جاوا اسکریپت در این بخش ٣ مثال کاربردی و مهم با هدف پوشش جنبه‌های مختلف این متد ارائه خواهد شد. توجه به جزئیات این مثال‌ها برای درک بهتر این متد لازم و ضروری است.

مثال ١. استفاده از متد include در جاوا اسکریپت

قطعه کد مثال ١ که از متد includes()استفاده کرده به صورت زیر است:

1let languages = ["JavaScript", "Java", "C", "C++"];
2
3// checking whether the array contains 'C'
4let check1 = languages.includes("C");
5
6console.log(check1); // true
7
8// checking whether the array contains 'Ruby'
9let check2 = languages.includes("Ruby");
10
11console.log(check2); // false

خروجی مثال فوق به صورت زیر است:

true
false

در مثال فوق ، متد includes()برای بررسی دقیق حضور عناصر Cو Rubyدر آرایه languagesاستفاده شده است. برای مثال بالا خط languages.includes("C")به نتیجه Trueارزیابی می‌شود زیرا آرایه مد نظر عنصر زبانCرا در برمی‌گیرد. برعکس، خط languages.includes("Ruby")به Falseارزیابی خواهد شد زیرا آرایه فاقد عنصر Rubyاست.

مثال ٢. استفاده از برای include جستجوی حساس به حروف بزرگ

مثال زیر ماهیت حساس بودن به حروف کوچک و بزرگ متد include در جاوا اسکریپت را نشان می‌دهد که قطعه کد آن به صورت زیر است:

1let languages = ["JavaScript", "Java", "C", "Python"];
2
3// checking whether the array contains 'Python'
4let check1 = languages.includes("Python");
5
6console.log(check1); // true
7
8// checking whether the array contains 'python'
9let check2 = languages.includes("python");
10
11console.log(check2); // false

خروجی مثال فوق به صورت زیر است:

true
false

در سناریوی فوق، متد includes()حساس بودن به حروف کوچک و بزرگ خود را نشان می‌دهد. در این رابطه خط languages.includes ("Python")به Trueارزیابی می‌شود. در مقابل، خط languages.includes ("python")به Falseمنجر خواهد شد. این نتایج ناشی از رفتار حساس به حروف کوچک و بزرگ این متد است که بین «Python» و «python»به عنوان رشته‌های مجزا تمایز قائل می‌شود.

برنامه نویسی در حال کد نویسی با لپ تاپ - متد include در Javascript

مثال ٣. متد include در Javascript با دو پارامتر

مثال زیر نحوه استفاده از متد include در جاوا اسکریپت را با دو پارامتر بیان می‌کند که قطعه کد آن به صورت زیر است:

1let languages = ["JavaScript", "Java", "C", "Python"];
2
3// The second argument specifies the position to commence the search
4let check1 = languages.includes("Java", 2);
5
6console.log(check1); // false
7
8// The search initiates from the third-to-last element
9let check2 = languages.includes("Java", -3);
10
11console.log(check2); // true 

خروجی مثال فوق به صورت زیر است:

false
true

در مثال بالا، متد includes()با دو مقدار آرگومان فراخوانی می‌شود. خط languages.includes("Java", 2)در مثال بالا به Falseارزیابی خواهد شد. این اتفاق به این دلیل رخ داده است که متد includes()نمی‌تواند Javaرا که از اندیس دوم آرایه شروع می‌شود، پیدا کند. در مقابل برای خط languages.includes("Java", -3))، متد به دلیل آرگومان منفی با مقدار -3، جستجوی Javaرا از سومین عنصر آخر آغاز می‌کند و این بار نتیجه به Trueارزیابی می‌شود.

سخن پایانی

همان‌طور که بیان شد متد include در جاوا اسکریپت به منظور یافتن عناصر یا رشته‌های مدنظر در آرایه‌ها و رشته‌های دیگر موارد استفاده قرار می‌گیرد. در مطلب فوق از مجله فرادرس در کنار توضیح مفاهیم مربوط به این متد، نحوه استفاده از آن در سناریوهای عملی و مختلف نیز ارائه شد.

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

بر اساس رای ۱ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
FreeCodeCampProgramiz
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *