خوب تو ریکت باید خیلی خوب به es6 مسلط باشید منم در این راه داشتم یکم با Filter و Map و Reduce
کار می کردم که به نظرم یکی از بهترین راهنما ها این نوشته تو ویرگوله به نظرم یه سر بهش بزنید.
توابع مرتبه بالا(Higher-Order Functions) در جاوا اسکریپت
ولی یکم تو توضیح Reduce گنگ بود به نظرم!
خوب نگاه کنید ما از filter همونطور که از اسمش پیدا ست زمانی استفاده می کنیم که بخوایم فیلتر کنیم(چقدر خوب توضیح دادم;( مثلا) شما فکر کنید یه آرایه دارید که یه سری مشخصات توشه مثلا می خواین اون هایی که سنشون بیشتر از 18 پیدا کنید اون موقع از filter استفاده می کنید برای مثال بیشتر به همون لینک بالا مراجعه کنید.
از map هم برای زمانی که بخواین یه کار رو روی تک تک اعضا انجام بدید مثلا بخوایم تک تک اعضا رو به توان دو برسونیم اینا که تکرار از همون مطلب
توابع مرتبه بالا(Higher-Order Functions) در جاوا اسکریپت است حالا چیز جدید که می خوام اضافه کنم reduce است.
که اگه حال دارید به صورت تصوری ببینید
فانکشنال js بدون درد و خونریزی - بخش یک reduce ادی به خوبی توضیح داده.
خوب اگه تو دیکشنری بسرچید reduce
معنی هاش می شه
خرد کردن، کاستن، خرد ساختن، کم کردن، تقلیل دادن، تنزل دادن، مطیع کردن، ساده کردن، استحاله کردن
در واقع با reduce می شه آرایه مون رو کوچیک کرد خرد کرد یا ساده کرد.
let alaki=[1,2,3,4,5].reduce((a,b)=>a+b); console.log(alaki);
به نظرم اینجا ادی خیلی خوب توضیح میده می گه که بیاین کنسول لاگ بگیریم از این که reduce چه جوری کار می کنه .
let some =[1,2,3,4,5].reduce((a,b)=>{ console.log(`a is ${a} , b is ${b}`) return a+b });
خوب اول میاد عضو صفرم و اول رو با هم جمع می کنه.
بعد میاد جمع یک و دو رو می گیره a بعد با دومین (یعنی 3) عضو توی ارایه جمع می کنه می شه 6 بعد باز میاد این 6 رو می گیره a و با سومین عضو جمع می کنه و این ادامه پیدا می کنه
functional programming
جاوااسکریپت
javascript
reduce
فانکشنال پروگرمینگ×