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