Helion Bestsellery

Komunikacja z AI. Dla początkujących
  • Autor: Katarzyna Majzel-Pośpiech
  • Zniżka: 35%
  • Cena: 49.00 31.85 zł
  • Marka: Helion
  • Status: Dostępna
  • Typ: Książka
  • EAN: 9788328912724
  • ISBN: 978-83-289-1272-4
Dodaj Komunikacja z AI. Dla początkujących do koszyka

Helion Książka Dnia

Algorytmy w Pythonie. Techniki programowania dla praktyków
  • Autor: Piotr Wróblewski
  • Zniżka: 50%
  • Cena: 119.00 59.50 zł
  • Marka: Helion
  • Status: Dostępna
  • Typ: Książka
  • EAN: 9788328393684
  • ISBN: 978-83-283-9368-4
Dodaj Algorytmy w Pythonie. Techniki programowania dla praktyków do koszyka

Array.reduceRight()

[ Leksykon ] [ JavaScript ] [ Tablice ] [ Metody ] [ Właściwości ] [ Array() ]

Array.prototype.reduceRight()

[_] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z]

 

Przykłady:

const tablica = [['A', 'B'], ['C', 'D'], ['E', , 'G', 'H']];
const wynik = tablica.reduceRight((accumulator, currentValue, index, array)
=> accumulator.concat(currentValue));
console.log(wynik);
// Array ["E", undefined, "G", "H", "C", "D", "A", "B"

    

const tablicaX = [0, 1, 2, 3, 4];
const wynik2 = tablicaX.reduceRight((accumulator, currentValue, index, array) => accumulator+currentValue);
console.log(wynik2); // 10
// Parametr array nigdy nie zmienia się w trakcie procesu zawsze wynosi [0, 1, 2, 3, 4].
// Wartość zwrócona przez reduceRight byłaby wartością ostatniego wywołania zwrotnego czyli 10

 

console.log([0, 1, 2, 3, 4].reduceRight(
(accumulator, currentValue, index, array) => accumulator + currentValue, "1030"
)); // "103043210"

console.log([0, 1, 2, 3, 4].reduceRight(
(accumulator, currentValue, index, array) => accumulator + currentValue, 1030
)); // 1040

console.log([0, 1, 2, 3, 4].reduceRight(
(a, b, c, d) => a + b, 1030
)); // 1040

 

const zadanie =
(...argumenty) =>
(wartosc) =>
argumenty.reduceRight((accumulator, currentValue) => currentValue(accumulator), wartosc);

const dodawanie = (n) => n + 1;
const mnozenie = (n) => n * 2;

console.log(zadanie(mnozenie, dodawanie)(5)); // 12, n + 1 (n * 2), 5 + 1, 6 * 2, 12
console.log(zadanie(dodawanie, mnozenie)(5)); // 11, n * 2 (n + 1), 5 * 2, 10 + 1, 11

 

const czas = (t) => Math.floor(Math.random() * t);

const dodawanie = (callback, a) => {
setTimeout(callback, czas(500), a + 4);
};
const mnozenie = (callback, a) => {
setTimeout(callback, czas(500), a * 6);
};
const kopiowanie = (callback, a) => {
setTimeout(callback, czas(500), a, a, a,);
};
const sumowanie = (callback, a, b, c) => {
setTimeout(callback, czas(500), a + b + c);
};
const odejmowanie = (callback, a) => {
setTimeout(callback, czas(500), a - 1);
};
const dzielenie = (callback, a) => {
setTimeout(callback, czas(500), a / 2);
};

const zadania = (...functions) => (callback, ...args) =>
functions.reduceRight(
(composition, fn) =>
(...results) =>
{ fn(composition, ...results); console.log(results); },
callback,
)(...args);

const praca = zadania(dodawanie, mnozenie, kopiowanie, sumowanie, odejmowanie, dzielenie);
praca(console.log, 5);

// Array [5]
// Array [9]
// Array [54]
// Array [54, 54, 54]
// Array [162]
// Array [161]
// 80.5

 

const tablica = ["A", "B", "C", "D", "E"];
const prawo = tablica.reduceRight((a, b) => a + b);
const lewo = tablica.reduce((a, b) => a + b);

console.log(prawo); // "EDCBA"
console.log(lewo); // "ABCDE"

 

const tablica = {
length: 3,
0: 1,
1: 2,
2: 3,
};
console.log(Array.prototype.reduceRight.call(tablica, (x, y) => x + y));
// 6

 

Opis:
Metoda Array.reduceRight() stosuje funkcję względem akumulatora i każdej wartości tablicy od prawej do lewej, aby zredukować ją do pojedynczej wartości. Zobacz także Array.prototype.reduce() od lewej do prawej. Pierwszy parametr funkcja do wykonania dla każdego elementu w tablicy. Jego wartość zwracana staje się wartością argumentu accumulator przy następnym wywołaniu funkcji parametru. W przypadku ostatniego wywołania wartość zwracana staje się wartością zwracaną przez reduceRight(). Funkcja jest wywoływana z następującymi argumentami, accumulator - Wartość wynikająca z poprzedniego wywołania do funkcji parametru. Przy pierwszym wywołaniu, jeśli określono drugi parametr, w przeciwnym razie wartość ostatniego elementu tablicy, argument currentValue - bierzący element przetwarzany w tablicy, argument index - indeks bieżącego elementu przetwarzanego w tablicy, argument array tablica reduceRight() została wywołana. Drugi parametr opcjonalny wartość do użycia jako akumulator do pierwszego wywołania parametru funkcj. Jeśli nie zostanie podana wartość początkowa, zostanie użyty i pominięty ostatni element tablicy. Wywołanie reduceRight() pustej tablicy bez wartości początkowej tworzy plik TypeError. Zwracana wartość wynikająca z redukcji. Metoda reduceRight() uruchamia funkcję wywołania zwrotnego reduktora dla wszystkich elementów w tablicy, w porządku indeksu malejącego i gromadzi je w jedną wartość. Funkcja pierwszego parametru jest wywoływana tylko dla indeksów tablicy, które mają przypisane wartości. Nie jest wywoływana dla pustych gniazd w rzadkich tablicach. Długość tablicy jest zapisywana przed pierwszym wywołaniem funkcji pierwszy parametr. Funkcja podana nie odwiedzi żadnych elementów dodanych poza początkową długością tablicy, gdy rozpoczęło się wywołanie reduceRight(). Usunięte elementy nie są odwiedzane. Metoda reduceRight() jest ogólna. Oczekuje tylko, że this wartość będzie miała length właściwość i właściwości z kluczem całkowitym.

Zobacz też:
Array.reduce() - Metoda Array() wykonuje dostarczoną przez użytkownika funkcję wywołania zwrotnego reduktora na każdym elemencie tablicy od lewej do prawej, aby zredukować ją do pojedynczej wartości
Array.concat() - Metoda Array() zwraca nową tablicę, która jest tablicą wywołującą połączoną z innymi tablicami i/lub wartościami

 

 

 

 

 

Please publish modules in offcanvas position.