JavaScript – جستجوی آرایهها (Array Search)
جستجو در آرایههای جاوااسکریپت
روشهای جستجو و یافتن آرایه
جاوااسکریپت ابزارهایی برای جستجو و یافتن مقادیر در آرایهها ارائه میدهد. این روشها شامل موارد زیر هستند:
indexOf()
lastIndexOf()
includes()
find()
findIndex()
findLast()
findLastIndex()
متد indexOf()
این متد برای یافتن موقعیت اولین مقدار مشخصشده در آرایه استفاده میشود. اگر مقدار پیدا نشود، مقدار -1
بازگردانده میشود.
مثال:
const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.indexOf("Apple") + 1; // مقدار: 1
سینتکس:
item
: مقدار جستجو.start
: موقعیت شروع جستجو (اختیاری).
متد lastIndexOf()
این متد شبیه به indexOf()
است اما موقعیت آخرین مقدار مشخصشده را بازمیگرداند.
مثال:
const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.lastIndexOf("Apple") + 1; // مقدار: 3
سینتکس:
item
: مقدار جستجو.start
: موقعیت شروع جستجو از انتها (اختیاری).
متد includes()
این متد بررسی میکند که آیا یک مقدار در آرایه وجود دارد یا خیر. این متد حتی برای مقدار NaN
نیز کار میکند.
مثال:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.includes("Mango"); // مقدار: true
سینتکس:
array.includes(search-item)
متد find()
این متد مقدار اولین عنصری را که شرایط مشخصشده در یک تابع عبور میکند، بازمیگرداند.
مثال:
const numbers = [4, 9, 16, 25, 29];
let first = numbers.find(value => value > 18); // مقدار: 25
متد findIndex()
این متد شاخص (ایندکس) اولین عنصری را که شرایط مشخصشده را عبور میکند، بازمیگرداند.
مثال:
const numbers = [4, 9, 16, 25, 29];
let firstIndex = numbers.findIndex(value => value > 18); // مقدار: 3
متد findLast()
این متد که در ES2023 معرفی شده است، جستجو را از انتهای آرایه شروع کرده و مقدار اولین عنصری را که شرایط مشخصشده را عبور میکند، بازمیگرداند.
مثال:
const temp = [27, 28, 30, 40, 42, 35, 30];
let high = temp.findLast(x => x > 40); // مقدار: 42
تفاوت بین متدها
indexOf()
وlastIndexOf()
به شما موقعیت (ایندکس) عنصر را بازمیگردانند.includes()
فقط وجود یا عدم وجود عنصر را بررسی میکند.find()
وfindLast()
مقدار عنصر را بازمیگردانند.findIndex()
وfindLastIndex()
ایندکس عنصر را بازمیگردانند.
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام