ЈаваСцрипт низови : Разумевање функција смањити
синтакса
arr.reduce(callbackFunction, [initialValue])
Шта смањују до?
Смањите је функција која кругова кроз низ.
Радови се могу изводити на поља преко функције повратног позива.
На крају операција на низу, смањити враћа једну вредност
Смањите може да се користи, на пример, на укупно колица за куповину
пример
нека ар = [1,2,3,4,5];
арр.редуце( (акумулатор, Тренутна вредност, цуррентИндек, поредак) => {
//neke операције;
врати нешто;
});
Цаллбацк функције
Функција Цаллбацк се позива за сваки елемент у низу, пролази у 4 аргументи који се доносе у од стране смањења функције.
Ове 4 аргументи онда може да се користи у нашем повратни позив функцији.
Узима четири аргумента
- акумулатор – Први елемент низа на првом петљи или почетну вредност уколико се испоручују. Онда је вратила вредност претходног петље.
- Тренутна вредност – Садашњи елемент низа. Почиње од другог елемента у низу, односно. дол[1], када је почетна вредност аргумента није прошао. Уколико буде усвојен је почетна вредност аргумента онда тренутна вредност почиње од 1. елемента у низу арр[0].
- цуррентИндек – Индекс текућег елемента.
- поредак – Читав низ.
Радна Пример
нека ар = [1,2,3,4,5]; арр.редуце( (акумулатор, Тренутна вредност, цуррентИндек, поредак) => { цонсоле.лог(`акумулатор (На 1. петље, акумулатор је дол[0], онда је вратио вриједност претходне петље): ${акумулатор}`); цонсоле.лог(`ЦуррентВалуе (Лоопс кроз низ, са почетком у арр[1]): ${Тренутна вредност}`); цонсоле.лог(`цуррентИндек: ${цуррентИндек}`); цонсоле.лог(`низ: ${поредак}`); цонсоле.лог('---'); повратак акумулатор + Тренутна вредност; } );
излаз
акумулатор (На 1. петље, акумулатор је дол[0], онда је вратио вриједност претходне петље): 1 Тренутна вредност (Лоопс кроз низ, са почетком у арр[1]): 2 цуррентИндек: 1 поредак: 1,2,3,4,5 --- акумулатор (На 1. петље, акумулатор је дол[0], онда је вратио вриједност претходне петље): 3 Тренутна вредност (Лоопс кроз низ, са почетком у арр[1]): 3 цуррентИндек: 2 поредак: 1,2,3,4,5 --- акумулатор (На 1. петље, акумулатор је дол[0], онда је вратио вриједност претходне петље): 6 Тренутна вредност (Лоопс кроз низ, са почетком у арр[1]): 4 цуррентИндек: 3 поредак: 1,2,3,4,5 --- акумулатор (На 1. петље, акумулатор је дол[0], онда је вратио вриједност претходне петље): 10 Тренутна вредност (Лоопс кроз низ, са почетком у арр[1]): 5 цуррентИндек: 4 поредак: 1,2,3,4,5 ---
Пружајући почетну вредност
Наводећи други параметар (Почетна вредност) У смањења функције ће изазвати инитиалВалуе да буде усвојен у као акумулатору аргумент на првом петљи.
Имајте на уму да је тренутна вредност на 1. петљи сада почиње на први елемент низа
Радна Пример
нека ар = [1,2,3,4,5]; арр.редуце( (акумулатор, Тренутна вредност, цуррентИндек, поредак) => { цонсоле.лог(`акумулатор ( На 1. петље, Ово је почетна вредност, онда се вратио вредност претходног петље): ${акумулатор}`); цонсоле.лог(`ЦуррентВалуе (Лоопс кроз низ, са почетком у арр[0]): ${Тренутна вредност}`); цонсоле.лог(`цуррентИндек: ${цуррентИндек}`); цонсоле.лог(`низ: ${поредак}`); цонсоле.лог('---'); повратак акумулатор + Тренутна вредност; }, 0 );
излаз
акумулатор ( На 1. петље, Ово је почетна вредност, онда се вратио вредност претходног петље): 0 Тренутна вредност (Лоопс кроз низ, са почетком у арр[0]): 1 цуррентИндек: 0 поредак: 1,2,3,4,5 --- акумулатор ( На 1. петље, Ово је почетна вредност, онда се вратио вредност претходног петље): 1 Тренутна вредност (Лоопс кроз низ, са почетком у арр[0]): 2 цуррентИндек: 1 поредак: 1,2,3,4,5 --- акумулатор ( На 1. петље, Ово је почетна вредност, онда се вратио вредност претходног петље): 3 Тренутна вредност (Лоопс кроз низ, са почетком у арр[0]): 3 цуррентИндек: 2 поредак: 1,2,3,4,5 --- акумулатор ( На 1. петље, Ово је почетна вредност, онда се вратио вредност претходног петље): 6 Тренутна вредност (Лоопс кроз низ, са почетком у арр[0]): 4 цуррентИндек: 3 поредак: 1,2,3,4,5 --- акумулатор ( На 1. петље, Ово је почетна вредност, онда се вратио вредност претходног петље): 10 Тренутна вредност (Лоопс кроз низ, са почетком у арр[0]): 5 цуррентИндек: 4 поредак: 1,2,3,4,5 ---
