امیررضا همتی هستم یک برنامه نویس، برنامه نویسی که برنامه نویسی شده دنیاش!
آشنایی با متد های find و filter در جاوا اسکریپت
سلامی مجدد ...
در این مقاله قصد دارم شما رو با دو تا از متد های خفن مخصوص ارایه اشنا کنم که قطعا خیلی بدردتون میخوره.
(تو پرانتز بگم بجز اینها یک متد خوب دیگه که مشابه این ها هستند با کمی تفاوت اساسی رو هم مطرح میکنم)
findIndex
هست اون یکیم!!!
بنظر من متد های مربوط به ارایه در جاوااسکریپت(خلاصش میکنم به جی اس در دفعات بعد) ارایه ها در جی اس رو بسیار انعطاف پذیر کرده در مقاله اولم به متد splice پرداختم بصورت خیلی کامل بریم تو کار این دوتا
اگر با splice اشنایی ندارید تو مقاله بالا بصورت خیلی کامل توضیح دادم !!!
Find
این متد داخل ارایه میگرده و دقیقا اولین مقداری که داخل ارایه با مقدار مورد نظر ما برابر باشه رو بر میگردونه در یک مثال خفن توضیحش میدم:)
نکته: تمام متد هایی که معرفی میکنم همه یک پارامتر دارند که این پارامتر مقدار تکی هر ارایه رو بر میگردونه مثلا در فاز اول (مقدار اندیس ۰ رو برمیگردونه :)
نامشون رو هم دلخواه میتونیم بزاریم تو مثلا پایین نام پارامتر رو item قرار دادم.
چون پارامتر داره بهمون یکی از مقادیر ارایه برمیگردونه بهتره نامی انتخاب نکنیم که جمع باشه، مثلا:
items درست نیست
,ولی item درسته
البته هیچ اجباری در این ماجرا نیست !!!
مثال بالا از ساده هم ساده تر بود، اگر موافق هستید یک مقدار سخت ترش کنیم و به شکلی تبدیلش کنیم که شبیه به استفاده در پروژه عملی باشه (البته کامنت های بالا حذف میشن :)
یه نکته مهم بوجود میاد که اینم از قلم نندازیم خیلی خوبه...
اگر که این متد نتونست مقدار مارو داخل ارایه پیدا کنه چی میشه؟؟؟
یک نکته کوچولو دیگه مونده که اون هم مطرح کنم میریم سراغ متد filter ?
اگر داخل ارایه دوتا مقدار یک شکل پیدا شد اونوقت کدومش برمیگرده ؟؟؟
داخل یک مثال خدمتتون مطرح میکنم:)
Filter
تقریبا نحوه کار این هم مثل متد find هست اما از اسمش معلومه تفاوت دارن
راحتتون میکنم:
متد find میاد صرفا دنبال یک مقدار میگرد و تا پیداش کرد متوقف میشه کاربردش برای پیدا کردن id و اینجور چیزاس.
ولی فیلتر میاد تمام مقادیری که مساوی مقدار مشخص شده ما هستند رو در قالب array به ما برمیگردونه.
داخل مثال حرفم بهتر متوجه میشید...
یک نکته مهم: حتی اگر مقدار یافت شده در فیلتر یک دونه باشه هم به ما در قالب ارایه برمیگردونه
یک نکته مهم دیگه: حتی اگر هیچ مقداری مساوی مقدار مشخص شده ما یافت نشه باز هم ارایه بر میگرده و اینبار undefined نمیاد. البته یک ارایه خالی خالی یعنی این []
بریم سراغ اخرین متد که میخوام مطرح کنم و پایان کار اسمش هست ?
findIndex
این متد دقیقا مثل متد find هست عملکرد هاش با این تفاوت که بجای برگردوندن مقدار میاد اندیس مقدار، در ارایه رو به ما میده، بیشتر از این خستتون نمیکنم و با یک مثال توضیح میدم یعنی چی :) :(
دلیل اینکه داخل متد های دوم و سوم دربارشون کمتر توضیح دادم این بود که داخل متد اول ترفند های مهمش گفتم و اگر دوباره میخواستم تکرار کنم حوصله سر بر بود حتی برای خود من.
یک نکته بگم حتما خودتون هم با این متد ها بازی کنید قطعا فنونی دارند که شاید بلد نیستم یا فراموش کردم توضیح بدم(سرچ هم بی تاثیر نیست!!!) اما مطالب مهمش رو گفتم خدمتتون
لطفا اگر از مقاله راضی بودید، برای دوستانتون هم ارسال کنید تا از مقاله استفاده کنند.
اگر مفید بود براتون لایک فراموش نکنید.
از دنبال کننده های من هم بشید تا بیشتر مقاله بزارم :)
ممنون که وقت گذاشتید.
مطلبی دیگر از این انتشارات
تجربه ۵ سال تولید محتوا
مطلبی دیگر از این انتشارات
دنیای تاریک و ترسناک ذهنم
مطلبی دیگر از این انتشارات
10 توصیه برای متقاعد کردن دیگران