آشنایی با متد های  find و filter در جاوا اسکریپت

سلامی مجدد ...Filter and Find in javascriptدر این مقاله قصد دارم شما رو با دو تا از متد های خفن مخصوص ارایه اشنا کنم که قطعا خیلی بدردتون میخوره.(تو پرانتز بگم بجز اینها یک متد خوب دیگه که مشابه این ها هستند با کمی تفاوت اساسی رو هم مطرح میکنم)findIndexهست اون یکیم!!!بنظر من متد های مربوط به ارایه در جاوااسکریپت(خلاصش میکنم به جی اس در دفعات بعد) ارایه ها در جی اس رو بسیار انعطاف پذیر کرده در مقاله اولم به متد splice پرداختم بصورت خیلی کامل بریم تو کار این دوتا https://vrgl.ir/ConHl اگر با splice اشنایی ندارید تو مقاله بالا بصورت خیلی کامل توضیح دادم !!!Findاین متد داخل ارایه میگرده و دقیقا اولین مقداری که داخل ارایه با مقدار مورد نظر ما برابر باشه رو بر میگردونه در یک مثال خفن توضیحش میدم:) نکته: تمام متد هایی که معرفی میکنم همه یک پارامتر دارند که این پارامتر مقدار تکی هر ارایه رو بر میگردونه مثلا در فاز اول (مقدار اندیس ۰ رو برمیگردونه :)نامشون رو هم دلخواه میتونیم بزاریم تو مثلا پایین نام پارامتر رو item قرار دادم.چون پارامتر داره بهمون یکی از مقادیر ارایه برمیگردونه بهتره نامی انتخاب نکنیم که جمع باشه، مثلا: items درست نیست,ولی item درستهالبته هیچ اجباری در این ماجرا نیست !!!مثال بالا از ساده هم ساده تر بود، اگر موافق هستید یک مقدار سخت ترش کنیم و به شکلی تبدیلش کنیم که شبیه به استفاده در پروژه عملی باشه (البته کامنت های بالا حذف میشن :) تو پروژه هم شاید ممکن باشه(ممکن نه!!! قطعا بدردتون میخوره) از این روش نیاز باشه استفاده کنید...یه نکته مهم بوجود میاد که اینم از قلم نندازیم خیلی خوبه...اگر که این متد نتونست مقدار مارو داخل ارایه پیدا کنه چی میشه؟؟؟ مقدار undefined برمیگرده برامونیک نکته کوچولو دیگه مونده که اون هم مطرح کنم میریم سراغ متد filter ?اگر داخل ارایه دوتا مقدار یک شکل پیدا شد اونوقت کدومش برمیگرده ؟؟؟داخل یک مثال خدمتتون مطرح میکنم:)کامنت رو مطالعه کنید حتما...اینجا ای دی ۲ برمیگرده چون از اندیس اول ارایه سرچ میکنه و تا اون مقدار مشابه پیدا کنه متد متوقف میشه و result میده بهمون اوکی؟Filterتقریبا نحوه کار این هم مثل متد find هست اما از اسمش معلومه تفاوت دارنراحتتون میکنم:متد find میاد صرفا دنبال یک مقدار میگرد و تا پیداش کرد متوقف میشه کاربردش برای پیدا کردن id و اینجور چیزاس.ولی فیلتر میاد تمام مقادیری که مساوی مقدار مشخص شده ما هستند رو در قالب array به ما برمیگردونه.داخل مثال حرفم بهتر متوجه میشید...اینجا چون دو نام مشابه مقدار مشخص شده ما بود هردوش رو برگردوندیک نکته مهم: حتی اگر مقدار یافت شده در فیلتر یک دونه باشه هم به ما در قالب ارایه برمیگردونهیک نکته مهم دیگه: حتی اگر هیچ مقداری مساوی مقدار مشخص شده ما یافت نشه باز هم ارایه بر میگرده و اینبار undefined نمیاد. البته یک ارایه خالی خالی یعنی این []بریم سراغ اخرین متد که میخوام مطرح کنم و پایان کار اسمش هست ?findIndexاین متد دقیقا مثل متد find هست عملکرد هاش با این تفاوت که بجای برگردوندن مقدار میاد اندیس مقدار، در ارایه رو به ما میده، بیشتر از این خستتون نمیکنم و با یک مثال توضیح میدم یعنی چی :)‌ :(همونطور که میبینید اندیس یک بهمون داد که داخل ارایه دانش اموزان این اسم در اندیس یک استدلیل اینکه داخل متد های دوم و سوم دربارشون کمتر توضیح دادم این بود که داخل متد اول ترفند های مهمش گفتم و اگر دوباره میخواستم تکرار کنم حوصله سر بر بود حتی برای خود من.یک نکته بگم حتما خودتون هم با این متد ها بازی کنید قطعا فنونی دارند که شاید بلد نیستم یا فراموش کردم توضیح بدم(سرچ هم بی تاثیر نیست!!!) اما مطالب مهمش رو گفتم خدمتتونلطفا اگر از مقاله راضی بودید، برای دوستانتون هم ارسال کنید تا از مقاله استفاده کنند.اگر مفید بود براتون لایک فراموش نکنید.از دنبال کننده های من هم بشید تا بیشتر مقاله بزارم :)ممنون که وقت گذاشتید.