Spread operaator JavaScriptis
ES6-s ilmus spetsiaalne operaator ...,
mida nimetatakse spread.
Kui spread operaator asub massiivi ees, jaotab see massiivi eraldi väärtusteks, muutes massiivi funktsiooni väljakutseks vajalikeks parameetriteks.
See kõlab kindlasti segaselt, nii et vaatame
lihtsat näidet. Olgu meil funktsioon, mis võtab
3 parameetrit ja tagastab nende summa:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
Olgu meil ka kolmest elemendist koosnev massiiv:
let arr = [1, 2, 3];
Ilmselgelt ei saa me lihtsalt võtta ja edastada seda massiivi funktsiooni parameetrina, nii:
let arr = [1, 2, 3];
func(arr);
Sest sel juhul satub kogu massiiv funktsiooni esimesse parameetrisse, kuid sellesse parameetrisse tuleb edastada number (ja ka ülejäänud parameetritesse samuti).
Loomulikult võib toimida järgmiselt:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
Kuid on olemas ka lihtsam viis - kasutada spread operaatorit:
let arr = [1, 2, 3];
func(...arr);
Muutuja olemasolu ei ole kohustuslik - spreadi saab rakendada otse massiivile:
func(...[1, 2, 3]);
Antud massiiv:
let arr = [1, 2, 3, 4, 5];
Antud ka funktsioon:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
Leia antud funktsiooni abil massiivi elementide summa.