بطور کلی متد reduce برای تبدیل آرایه به یک مقدار سادهتر استفاده میشه. در واقع این متد برای ساده کردن آرایه بکار میره. متد reduce روی اعضای یک آرایه (به ترتیب از چپ به راست) یک تابعی رو اجرا میکنه. هر باری که این تابع روی یک عضو اجرا میشه، خروجی اون، با مقدار خروجی تابع روی عضو قبلی، جمع میشه. منظور از جمع، انباشت اطلاعات قبلی هست. جاهایی از متد ریدوس استفاده میشه که اعضای قبل یا بعد یک عضو، وابسته به هم هستن، مثلاً جمع، میانگین اعضای یک آرایه عددی.
شاید توی مصاحبهها از شما بخوان که یک راه حل بدین برای جمع کردن اعضای یک آرایه. قطعا از شما نمیخوان که با حلقه for به این صورت بنویسین:
let numbers = [1, 2, 3, 4]; let output = 0; for (var i = 0; i < numbers.length; i++) { output += numbers[i]; } console.log(output); // 10
مصاحبهکننده جاوااسکریپت قطعا از شما یک راه حل باحالتر و خلاقانهتر میخواد 😉
مسئلهی بالا رو میشه با متد reduce نوشت:
let numbers = [1, 2, 3, 4]; let output = numbers.reduce(function(total, currect) { return total + currect; }); console.log(output); // 10
از پست زیر میتونید به طور مفصل با متد Reduce آشنا بشید:
منبع: