Array Search

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

1. متد indexOf()

این متد به دنبال مقدار مشخصی در آرایه می‌گردد و اولین ایندکس آن را برمی‌گرداند.
اگر مقدار وجود نداشته باشد، خروجی -1 خواهد بود.

const fruits = ["apple", "banana", "orange", "apple"]; console.log(fruits.indexOf("apple")); // 0 console.log(fruits.indexOf("orange")); // 2 console.log(fruits.indexOf("mango")); // -1

2. متد lastIndexOf()

این متد مشابه indexOf() است، با این تفاوت که آخرین ایندکس مقدار موردنظر را برمی‌گرداند.

const fruits = ["apple", "banana", "orange", "apple"]; console.log(fruits.lastIndexOf("apple")); // 3 console.log(fruits.lastIndexOf("banana")); // 1 console.log(fruits.lastIndexOf("mango")); // -1

3. متد includes()

این متد بررسی می‌کند که آیا آرایه شامل مقدار داده شده است یا خیر. خروجی آن یک مقدار Boolean (true/false) خواهد بود.

const fruits = ["apple", "banana", "orange"]; console.log(fruits.includes("banana")); // true console.log(fruits.includes("mango")); // false

4. متد find()

این متد یک تابع شرطی (callback) دریافت می‌کند و اولین عنصری که شرط را پاس کند برمی‌گرداند.
اگر هیچ عنصری شرایط را برآورده نکند، مقدار undefined برگردانده می‌شود.

const numbers = [5, 12, 8, 130, 44]; const found = numbers.find(num => num > 10); console.log(found); // 12

5. متد findIndex()

مشابه متد find() است، اما به جای مقدار عنصر، ایندکس اولین عنصر را برمی‌گرداند.
اگر پیدا نشود، خروجی -1 خواهد بود.

const numbers = [5, 12, 8, 130, 44]; const index = numbers.findIndex(num => num > 10); console.log(index); // 1 (چون 12 اولین عدد > 10 است)

📑 جدول خلاصه

متدمثالتوضیح
indexOf()arr.indexOf("apple")اولین ایندکس عنصری که پیدا شد (یا -1 اگر پیدا نشد)
lastIndexOf()arr.lastIndexOf("apple")آخرین ایندکس عنصری که پیدا شد (یا -1 اگر پیدا نشد)
includes()arr.includes("apple")بررسی می‌کند که آیا آرایه شامل مقدار داده شده هست یا خیر (true/false)
find()arr.find(x => x > 10)اولین عنصری که شرط داده شده را پاس کند برمی‌گرداند (یا undefined)
findIndex()arr.findIndex(x => x > 10)ایندکس اولین عنصری که شرط را پاس کند (یا -1)