JavaScript низи : Разбирање на функцијата за намалување на

синтакса

arr.reduce(callbackFunction, [initialValue])

Што се намали направи?

Намалување е функција која петелки преку низа.

Операции може да се врши на низа преку функцијата за повратен повик.

На крајот од работењето на низа, намалување се враќа една вредност

Намалување може да се користи, на пример, за вкупно количката

пример

  нека ТП = [1,2,3,4,5];
  arr.reduce( (акумулатор, моментална вредност, currentIndex, низа) => { 
      //некои операции;
      врати нешто;
  });

 

Повратен повик функција

повратен повик функција се повикува за секој елемент во низата, поминува во 4 аргументи кои се донесени од страна намалување на функцијата на.

овие 4 аргументи, тогаш може да се користи во нашата повратен повик функција.

Трае четири аргументи

  1. акумулатор – Првиот елемент на низата на првиот циклус или почетната вредност, ако собата. Потоа се врати вредноста на претходниот циклус.
  2. моментална вредност – Тековната елемент во низата. Започнува од вториот елемент во односно на низата. ТП[1], кога аргументот на почетната вредност не е донесен. Ако аргументот на почетната вредност е донесен тогаш сегашната вредност започнува од 1-ви елемент во низата ТП[0].
  3. currentIndex – Индексот на тековната елемент.
  4. низа – Целиот спектар.

Пример за работа

нека ТП = [1,2,3,4,5];

arr.reduce(
  (акумулатор, моментална вредност, currentIndex, низа) => {
    console.log(`акумулатор (На 1-ви јамка, акумулаторот е ARR[0], тогаш тоа е се врати вредноста на претходниот циклус): ${акумулатор}`);
    console.log(`currentValue (Петелки преку низа, со почеток во ТП[1]): ${моментална вредност}`);
    console.log(`currentIndex: ${currentIndex}`);
    console.log(`низа: ${низа}`);
    console.log('---');
    враќање акумулатор + моментална вредност;
  }
);

излез

акумулатор (На 1-ви јамка, акумулаторот е ARR[0], тогаш тоа е се врати вредноста на претходниот циклус): 1
моментална вредност (Петелки преку низа, со почеток во ТП[1]): 2
currentIndex: 1
низа: 1,2,3,4,5
---
акумулатор (На 1-ви јамка, акумулаторот е ARR[0], тогаш тоа е се врати вредноста на претходниот циклус): 3
моментална вредност (Петелки преку низа, со почеток во ТП[1]): 3
currentIndex: 2
низа: 1,2,3,4,5
---
акумулатор (На 1-ви јамка, акумулаторот е ARR[0], тогаш тоа е се врати вредноста на претходниот циклус): 6
моментална вредност (Петелки преку низа, со почеток во ТП[1]): 4
currentIndex: 3
низа: 1,2,3,4,5
---
акумулатор (На 1-ви јамка, акумулаторот е ARR[0], тогаш тоа е се врати вредноста на претходниот циклус): 10
моментална вредност (Петелки преку низа, со почеток во ТП[1]): 5
currentIndex: 4
низа: 1,2,3,4,5
---

 

Обезбедување на почетната вредност

Утврдување на вториот параметар (initialValue) во намалување на функцијата ќе предизвика initialValue да биде усвоен во како аргумент на акумулаторот на првиот циклус.

Имајте на ум дека сегашната вредност на 1 циклус сега започнува на првиот елемент на низата

Пример за работа

  нека ТП = [1,2,3,4,5];

  arr.reduce(
  (акумулатор, моментална вредност, currentIndex, низа) => {
    console.log(`акумулатор ( На 1-ви јамка, ова е почетната вредност, а потоа се врати вредноста на претходниот циклус): ${акумулатор}`);
    console.log(`currentValue (Петелки преку низа, со почеток во ТП[0]): ${моментална вредност}`);
    console.log(`currentIndex: ${currentIndex}`);
    console.log(`низа: ${низа}`);
    console.log('---');
    враќање акумулатор + моментална вредност;
  }, 0
);

излез

акумулатор ( На 1-ви јамка, ова е почетната вредност, а потоа се врати вредноста на претходниот циклус): 0
моментална вредност (Петелки преку низа, со почеток во ТП[0]): 1
currentIndex: 0
низа: 1,2,3,4,5
---
акумулатор ( На 1-ви јамка, ова е почетната вредност, а потоа се врати вредноста на претходниот циклус): 1
моментална вредност (Петелки преку низа, со почеток во ТП[0]): 2
currentIndex: 1
низа: 1,2,3,4,5
---
акумулатор ( На 1-ви јамка, ова е почетната вредност, а потоа се врати вредноста на претходниот циклус): 3
моментална вредност (Петелки преку низа, со почеток во ТП[0]): 3
currentIndex: 2
низа: 1,2,3,4,5
---
акумулатор ( На 1-ви јамка, ова е почетната вредност, а потоа се врати вредноста на претходниот циклус): 6
моментална вредност (Петелки преку низа, со почеток во ТП[0]): 4
currentIndex: 3
низа: 1,2,3,4,5
---
акумулатор ( На 1-ви јамка, ова е почетната вредност, а потоа се врати вредноста на претходниот циклус): 10
моментална вредност (Петелки преку низа, со почеток во ТП[0]): 5
currentIndex: 4
низа: 1,2,3,4,5
---