Spread operators JavaScript
ES6 parādījās īpašs operators ...,
ko sauc par spread.
Kad spread operators atrodas pirms masīva, tas sadala šo masīvu atsevišķās vērtībās, pārvēršot masīvu parametru kopā, kas nepieciešama funkcijas izsaukumam.
Iespējams, izklausās nesaprotami, tāpēc apskatīsim
vienkāršu piemēru. Pieņemsim, ka mums ir
funkcija, kas pieņem 3 parametrus
un atgriež to summu:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
Pieņemsim, ka mums ir arī masīvs no trim elementiem:
let arr = [1, 2, 3];
Skaidrs, ka mēs nevaram vienkārši paņemt un padot šo masīvu kā funkcijas parametru, šādi:
let arr = [1, 2, 3];
func(arr);
Jo šajā gadījumā viss masīvs nonāks pirmajā funkcijas parametrā, bet šajā parametrā jāpadod skaitlis (un arī pārējos parametrus arī).
Protams, var rīkoties šādi:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
Bet ir arī vienkāršāks veids - izmantot spread operatoru:
let arr = [1, 2, 3];
func(...arr);
Mainīgā esamība nav obligāta - spread var lietot tieši uz masīva:
func(...[1, 2, 3]);
Dots masīvs:
let arr = [1, 2, 3, 4, 5];
Dota arī funkcija:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
Atrodiet ar dotās funkcijas palīdzību masīva elementu summu.