Metóda JavaScript Array reduRight () vykoná funkciu redukcie na každom prvku poľa a použije ju proti akumulátoru.
Syntax reduceRight()metódy je:
 arr.reduceRight(callback(accumulator, currentValue), initialValue)
Tu je arr pole.
Parametre reduRight ()
reduceRight()Metóda berie v:
- spätné volanie - funkcia, ktorá sa má vykonať na každom prvku poľa. Trvá to:
- akumulátor - akumuluje spätné hodnoty spätného volania. Je to initialValuepre prvý hovor, ak je dodaný,
- currentValue - aktuálny prvok odovzdávaný z poľa.
 
- akumulátor - akumuluje spätné hodnoty spätného volania. Je to 
- initialValue (voliteľné) - hodnota, ktorá sa odovzdá callback()pri prvom volaní. Ak nie je uvedený, posledný prvok slúži ako akumulátor prvého hovoru acallback()nebude ho vykonávať.
Poznámka: Volanie reduceRight()na prázdne pole bez initialValue vyvolá TypeError.
Vrátiť hodnotu z reduRight ()
- Vráti hodnotu výslednú po zmenšení poľa.
Poznámky :
- reduceRight()vykoná danú funkciu pre každú hodnotu sprava doľava.
- reduceRight()nezmení pôvodné pole.
- Poskytovanie je takmer vždy bezpečnejšie initialValue.
Príklad 1: Súčet všetkých hodnôt poľa
 const numbers = (1, 2, 3, 4, 5, 6); function sum_reducer(accumulator, currentValue) ( return accumulator + currentValue; ) let sum = numbers.reduceRight(sum_reducer); console.log(sum); // 21 // using arrow function let summation = numbers.reduceRight( (accumulator, currentValue) => accumulator + currentValue ); console.log(summation); // 21
Výkon
21 21
Príklad 2: Odčítanie čísel v poli
 const numbers = (50, 300, 20, 100, 1800); // subtract all numbers from last number // since 1st element is called as accumulator rather than currentValue // 1800 - 100 - 20 - 300 - 50 let difference = numbers.reduceRight( (accumulator, currentValue) => accumulator - currentValue ); console.log(difference); // 1330 const expenses = (1800, 2000, 3000, 5000, 500); const salary = 15000; // function that subtracts all array elements from given number // 15000 - 500 - 5000 - 3000 - 2000 - 1800 let remaining = expenses.reduceRight( (accumulator, currentValue) => accumulator - currentValue, salary ); console.log(remaining); // 2700
Výkon
1330 2700
Tento príklad jasne vysvetľuje rozdiel medzi odovzdaním initialValue a neprejdením initialValue.
Príklad 3: Vytvorenie zložených funkcií
 // create composite functions const composite = (… args) => (initialArg) => args.reduceRight((acc, fn) => fn(acc), initialArg); const sqrt = (value) => Math.sqrt(value); const double = (value) => 2 * value; const newFunc = composite(sqrt, double); // ( 32 * 2 ) ** 0.5 let result = newFunc(32); console.log(result); // 8
Výkon
8
Vieme, že zloženie funkcie je spôsob, akým sa výsledok z jednej funkcie odovzdáva inej funkcii. Vykonanie sa deje sprava doľava, aby sme mohli využiť túto reduceRight()funkciu.
V tomto príklade sme vytvorili composite()funkciu, ktorá prijíma ľubovoľný počet argumentov. Táto funkcia vracia inú funkciu, ktorá sa ujme initialArga vráti túto hodnotu zníženú jej použitím proti daným funkciám sprava doľava.
Odporúčané čítanie: JavaScript pole zmenšiť ()








