انواع متد های جستجو آرایه در JS
هر نوع داده (data type) دارای متدها و ویژگی های مخصوص به خود است. در این بخش متدهای جستجو آرایه را بررسی می کنیم.
array.indexOf() ایندکس اولین وقوع جستجو array.lastIndexOf() ایندکس آخرین وقوع جستجو array.includes() بولین امکان وقوع جستجو array.find() مقدار اولین وقوع به صورت تابع array.findIndex() ایندکس اولین وقوع به صورت تابع array.findLast() مقدار آخرین وقوع به صورت تابع array.findLastIndex() ایندکس آخرین وقوع به صورت تابع
متد indexOf() آرایه در JS
متد ()indexOf، یک المان را در آرایه جستجو می کند و ایندکس اولین وقوع را بر می گرداند.
const persons = ["Ehsan", "Amir", "Reza", "Mobin", "Reza", "Mona"];
persons.indexOf("Reza");
نکته: متد indexOf در صورت پیدا نکردن نتیجه مقدار -1 بر می گرداند.
متد lastIndexOf() آرایه در JS
متد ()lastIndexOf، یک المان را در آرایه جستجو می کند و ایندکس آخرین وقوع را بر می گرداند.
const persons = ["Ehsan", "Amir", "Reza", "Mobin", "Reza", "Mona"];
persons.lastIndexOf("Reza");
نکته: متد lastIndexOf در صورت پیدا نکردن نتیجه مقدار -1 بر می گرداند.
متد includes() آرایه در JS
متد includes()، یک آرایه را جستجو و یک بولین را بر می گرداند. اگر آرایه حاوی کلمه مشخص شده باشد، true و در غیر این صورت false را بر می گرداند.
این متد دو پارامتر دریافت می کند.
- پارامتر اول مقداری که باید جستجو شود را مشخص می کند. (اجباری)
- پارامتر دوم ایندکس نقطه ای که جستجو باید از آن شروع شود، را مشخص می کند. (اختیاری)
نکته: مقدار برگشتی متد includes، یک بولین است.
const persons = ["Ehsan", "Amir", "Reza", "Mobin"];
persons.includes("Mobin");
const persons = ["Ehsan", "Amir", "Reza", "Mobin"];
persons.includes("Amir", 0);
const persons = ["Ehsan", "Amir", "Reza", "Mobin"];
persons.includes("Amir", 2);
نکته: متد includes، حساس به حروف بزرگ و کوچک است.
متد find() در JS
-
متد ()find، یک شرط را روی تک تک المان های آرایه چک می کند و با پیدا کردن اولین رخداد شرط، مقدار را بر می گرداند.
در نمونه کد زیر با کمک متد find روی المان های آرایه numbers:
- شرط value > 18 را چک می کنیم.
- این شرط روی تک تک خانه های آرایه چک می شود.
- در هر اجرا می توانیم ۳ پارامتر (value, index, array) را دریافت کنیم. مقدار value برابر با مقدار خانه آرایه، مقدار index، ایندکس خانه آرایه و مقدار array کل آرایه را بر می گرداند.
- در صورت برخورد به اولین true، باقی خانه ها چک نمی شود. و حلقه تکرار شکسته (break) می شود.
const numbers = [4, 9, 16, 25, 29];
let founded = numbers.find(function (value, index, array) {
return value > 18;
});
در متد find به تعداد خانه های آرایه، بلوک کد تابع اجرا می شود. تابع می تواند 3 پارامتر مقدار، ایندکس و کل آرایه را در هر اجرا دریافت کند.
نکته: به محض یافتن اولین رخداد، جستجو پایان می یابد و بقیه مقادیر آرایه چک نمی شود.
نکته: مقدار تابع حتما باید return شود. در غیر اینصورت نتیجه undefined می شود.
نکته: در صورت پیدا نکردن رخداد شرط، نتیجه undefined می شود.
متد findIndex() در JS
متد ()findIndex، یک شرط را روی تک تک المان های آرایه چک می کند و با پیدا کردن اولین رخداد شرط، ایندکس را بر می گرداند.
const numbers = [4, 9, 16, 25, 29];
let founded = numbers.findIndex(function (value, index, array) {
return value > 18;
});
در متد findIndex به تعداد خانه های آرایه، بلوک کد تابع اجرا می شود. تابع می تواند 3 پارامتر مقدار، ایندکس و کل آرایه را در هر اجرا دریافت کند.
نکته: به محض یافتن اولین رخداد، جستجو پایان می یابد و بقیه مقادیر آرایه چک نمی شود.
نکته: مقدار تابع حتما باید return شود. در غیر اینصورت نتیجه -1 می شود.
نکته: در صورت پیدا نکردن رخداد شرط، نتیجه -1 می شود.
متد findLast() در JS
متد ()findLast، یک شرط را روی تک تک المان های آرایه چک می کند و با پیدا کردن آخرین رخداد شرط، مقدار را بر می گرداند.
const numbers = [27, 28, 30, 40, 42, 35, 30];
let founded = numbers.findLast(function (value, index, array) {
return value > 30;
});
در متد findLast به تعداد خانه های آرایه، بلوک کد تابع اجرا می شود. تابع می تواند 3 پارامتر مقدار، ایندکس و کل آرایه را در هر اجرا دریافت کند.
نکته: به محض یافتن اولین رخداد، جستجو پایان می یابد و بقیه مقادیر آرایه چک نمی شود.
نکته: مقدار تابع حتما باید return شود. در غیر اینصورت نتیجه undefined می شود.
نکته: در صورت پیدا نکردن رخداد شرط، نتیجه undefined می شود.
متد findLastIndex() در JS
متد ()findLastIndex، یک شرط را روی تک تک المان های آرایه چک می کند و با پیدا کردن آخرین رخداد شرط، ایندکس را بر می گرداند.
const numbers = [27, 28, 30, 40, 42, 35, 30];
let founded = numbers.findLastIndex(function (value, index, array) {
return value > 30;
});
در متد findLastIndex به تعداد خانه های آرایه، بلوک کد تابع اجرا می شود. تابع می تواند 3 پارامتر مقدار، ایندکس و کل آرایه را در هر اجرا دریافت کند.
نکته: به محض یافتن اولین رخداد، جستجو پایان می یابد و بقیه مقادیر آرایه چک نمی شود.
نکته: مقدار تابع حتما باید return شود. در غیر اینصورت نتیجه -1 می شود.
نکته: در صورت پیدا نکردن رخداد شرط، نتیجه -1 می شود.
خلاصه درس
در این فصل با متد های اعداد زیر آشنا شدیم:
- ویژگی array.indexOf()
- متد array.lastIndexOf()
- متد array.includes()
- متد array.find()
- متد array.findIndex()
- متد array.findLast()
- متد array.findLastIndex()