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