اجرای یک عملیات تعریف شده توسط یک تابع (Function) بر روی عنصرهای (Element) یک آرایه (Array)، به صورت دو به دو و پشت سرهم و با ترتیب از عنصر اول به آخر (از چپ به راست) و برگرداندن نتیجه به صورت تنها یک مقدار (Value)، با روش reduce ، در JavaScript
گاهی اوقات نیاز داریم که یک عملیات خاص را بر روی عنصرهای (Element) یک آرایه (Array) اجرا کنیم، به این صورت که ابتدا عملیات بر روی دو عنصر اول آرایه اجرا شود، سپس عملیات بر روی نتیجه حاصل شده (از دو عنصر اول) و عنصر سوم اجرا شود و سپس عملیات بر روی نتیجه حاصل شده و عنصر چهارم اجرا گردد و الی آخر (تا آخرین عنصر آرایه).
مثلا اگر عملیات جمع باشد، ابتدا عنصر اول و دوم با هم جمع می شوند، سپس حاصل جمع آنها با عنصر سوم جمع می گردد و سپس حاصل جمع آنها با عنصر چهارم جمع می گردد و الی آخر. بنابراین برای این عملیات خاص (عملیات جمع)، در نهایت یک مقدار (Value) خواهیم داشت که برابر مجموع مقدار همه عنصرهای آرایه می باشد.
برای اینگونه عملیات ها، می توانیم روش
reduce
در JavaScript را به کار ببریم. به این صورت که ابتدا عملیات مورد نظرمان را به صورت یک تابع (Function) تعریف می کنیم و سپس تابع (Function) تعریف شده را به ورودی روش
reduce
می دهیم تا بر اساس آن، عملیات مورد نظر ما را بر روی عنصرهای آرایه (Array) اجرا کند.
دقت شود که روش
reduce
، ترتیب اجرای عملیات بر روی عنصرهای آرایه را به صورت ترتیب قرارگیری آنها در آرایه، یعنی از اول به آخر (از چپ به راست) اجرا می کند، اما اگر قصد داشته باشیم که ترتیب اجرای عملیات بر روی عنصرهای آرایه، به صورت از آخر به اول (از راست به چپ) باشد، می توانیم روش
reduceRight
(
کلید شماره 27863 ) را به کار ببریم.
به مثال زیر توجه کنید :
یک تابع با نام
My_Function
را بر اساس ((عملیات جمع)) تعریف می کنیم و آن را به ورودی روش reduce
می دهیم.
بنابراین نتیجه نهایی برابر مجموع مقدار همه عنصرهای (Element) آرایه (Array) می باشد.
نتیجه :
یک تابع با نام
My_Function
را بر اساس ((عملیات تفریق)) تعریف می کنیم و آن را به ورودی روش reduce
می دهیم.
بنابراین نتیجه نهایی برابر مقدار اولین عنصر آرایه، منهای مقدار بقیه عنصرهای آرایه خواهد بود.
نتیجه :
یک تابع با نام
My_Function
را بر اساس ((عملیات ضرب)) تعریف می کنیم و آن را به ورودی روش reduce
می دهیم.
بنابراین نتیجه نهایی برابر ضرب مقدار همه عنصرهای (Element) آرایه (Array) می باشد.
نتیجه :
یک تابع با نام
My_Function
را بر اساس ((عملیات تقسیم)) تعریف می کنیم و آن را به ورودی روش reduce
می دهیم.
بنابراین نتیجه نهایی برابر مقدار اولین عنصر آرایه، تقسیم بر مقدار بقیه عنصرهای آرایه خواهد بود.