Pole Javascript reduRight ()

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.
  • 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 a callback()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ť ()

Zaujímavé články...