მეთოდი 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