استفاده از indexOfincludes
جستجوی آرایهها در جاوااسکریپت با متدهای indexOf و includes
در توسعه وب، کار با آرایهها یکی از رایجترین عملیاتهاست. دو متد پرکاربرد برای جستجو در آرایهها، indexOf و includes هستند که هر کدام ویژگیهای منحصر به فردی دارند.
متد indexOf
متد indexOf یکی از قدیمیترین روشها برای یافتن موقعیت یک عنصر در آرایه است:
- اگر عنصر وجود داشته باشد، ایندکس آن را برمیگرداند
- اگر عنصر وجود نداشته باشد، مقدار -1 را برمیگرداند
- حساس به حروف بزرگ و کوچک (case-sensitive) است
مثال:
const fruits = ['سیب', 'موز', 'پرتقال'];
console.log(fruits.indexOf('موز')); // خروجی: 1
console.log(fruits.indexOf('انگور')); // خروجی: -1
const fruits = ['سیب', 'موز', 'پرتقال'];
console.log(fruits.indexOf('موز')); // خروجی: 1
console.log(fruits.indexOf('انگور')); // خروجی: -1
ویژگی | توضیح |
---|---|
پارامتر اول | عنصری که میخواهید پیدا کنید |
پارامتر دوم (اختیاری) | ایندکس شروع جستجو |
متد includes
متد includes در ES6 معرفی شد و برای بررسی وجود یک عنصر در آرایه استفاده میشود:
- اگر عنصر وجود داشته باشد، true برمیگرداند
- اگر عنصر وجود نداشته باشد، false برمیگرداند
- این متد نیز حساس به حروف بزرگ و کوچک است
متد includes برای خوانایی کد بهتر است وقتی فقط نیاز به بررسی وجود عنصر دارید و به ایندکس آن نیازی نیست.
مقایسه indexOf و includes
متد | مقدار بازگشتی | کاربرد اصلی |
---|---|---|
indexOf | ایندکس یا -1 | یافتن موقعیت عنصر |
includes | true/false | بررسی وجود عنصر |
برای یادگیری عمیقتر این مفاهیم، میتوانید از آموزشهای تخصصی در مکث شاپ استفاده کنید.
در نهایت، انتخاب بین این دو متد بستگی به نیاز شما دارد. اگر نیاز به دانستن موقعیت دقیق عنصر دارید، از indexOf استفاده کنید. اگر فقط میخواهید بدانید عنصر در آرایه وجود دارد یا نه، includes گزینه بهینهتری است.