Spread ოპერატორი JavaScript-ში
ES6-ში გამოჩნდა სპეციალური ოპერატორი ...,
რომელსაც ეწოდება spread.
როდესაც spread ოპერატორი დგას მასივის წინ, ის ყოფს ამ მასივს ცალკეულ მნიშვნელობებად, მასივის მასივის პარამეტრების ნაკრებად გარდაქმნის, რაც საჭიროა ფუნქციის გამოსაძახებლად.
რა თქმა უნდა, ჟღერს გაუგებრად, ამიტომ მოდით
შევხედოთ მარტივ მაგალითს. მოდით, ჩვენ გვქონდეს
ფუნქცია, რომელიც იღებს 3 პარამეტრს
და აბრუნებს მათ ჯამს:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
მოდით, ჩვენ ასევე გვქონდეს მასივი სამი ელემენტით:
let arr = [1, 2, 3];
ცხადია, რომ ჩვენ არ შეგვიძლია უბრალოდ ავიღოთ და გადავცეთ ეს მასივი ფუნქციის პარამეტრად, ასე:
let arr = [1, 2, 3];
func(arr);
რადგან ამ შემთხვევაში მთელი მასივი მოხვდება ფუნქციის პირველ პარამეტრში, ხოლო ამ პარამეტრში საჭიროა რიცხვის გადაცემა (და დანარჩენ პარამეტრებშიც).
რა თქმა უნდა, შესაძლებელია შემდეგნაირად მოვიქცეთ:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
მაგრამ არსებობს უფრო მარტივი გზა - გამოიყენოთ spread ოპერატორი:
let arr = [1, 2, 3];
func(...arr);
ცვლადის არსებობა არ არის სავალდებულო - spread-ის გამოყენება შესაძლებელია პირდაპირ მასივზე:
func(...[1, 2, 3]);
მოცემულია მასივი:
let arr = [1, 2, 3, 4, 5];
ასევე მოცემულია ფუნქცია:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
იპოვეთ მოცემული ფუნქციის საშუალებით მასივის ელემენტების ჯამი.