Reduce әдісі
reduce әдісі массивті
бір мәнге дейін жинақтайды (редуцирует). Мысалы,
осы әдіс көмегімен массив элементтерінің қосындысын
оңай табуға болады (яғни массив бір мәнге -
элементтердің қосындысына дейін жинақталады).
reduce әдісі бірінші параметр ретінде
функцияны қабылдайды, бұл функция массивтің әрбір
элементі үшін біріншіден бастап ретті түрде орындалады.
Бұл функцияға 4 параметр беруге болады.
Егер бұл параметрлер бар болса (олар міндетті емес),
онда біріншісіне автоматты түрде аралық
нәтиже, екіншісіне массив элементі,
үшіншісіне - оның массивтегі нөмірі (индекс),
ал төртіншісіне - массивтің өзі орналасады.
Аралық нәтиже - бұл айнымалы,
онда reduce әдісі массивтің барлық
элементтерін айналып шыққан кезде қайтаратын
мән жиналады. Мысалы,
оған массив элементтерінің қосындысын ретті түрде
жинақтауға болады: алдымен бірінші элементті
қою, циклдің келесі айналымында бірінші
элемент пен екіншінің қосындысын, келесі
айналымда - бірінші, екінші және үшіншінің қосындысын.
Және массив аяқталғанша осылай жалғастыру.
reduce қабылдайтын функция,
аралық нәтиженің жаңа мәнін қайтаруы керек.
reduce әдісінің екінші параметрінде
аралық нәтиженің бастапқы мәні көрсетіледі.
Егер ол көрсетілмесе, онда ол массивтің бірінші
элементіне тең болады, ал элементтерді өңдеу
екінші элементтен басталады.
Синтаксис
массив.reduce(function(аралық нәтиже, элемент, индекс, массив) {
return жаңа аралық нәтиже;
}, бастапқы мән);
Мысал
Массив элементтерінің қосындысын табайық:
let arr = [1, 2, 3, 4, 5, 6];
let res = arr.reduce(function(sum, elem) {
return sum + elem;
}, 0);
console.log(res);
Кодты орындау нәтижесі:
21
Мысал
Массивтің барлық оң сандарының қосындысын табайық:
let arr = [1, -2, -3, 4, 5, -6];
let res = arr.reduce(function(sum, elem) {
if (elem >= 0) {
return sum + elem;
} else {
return sum;
}
}, 0);
console.log(res);
Кодты орындау нәтижесі:
10