A spread operátor JavaScriptben
Az ES6-ban megjelent egy speciális ... operátor,
amelyet spread operátornak neveznek.
Amikor a spread operátor egy tömb előtt áll, akkor a tömböt különálló értékekre bontja szét, ezáltal a tömböt a függvényhívásához szükséges paraméterek halmazává alakítja.
Biztosan érthetetlenül hangzik, ezért nézzünk
egy egyszerű példát. Tegyük fel, van egy függvényünk,
ami 3 paramétert fogad el és visszaadja azok összegét:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
Tegyük fel, hogy van egy három elemű tömbünk is:
let arr = [1, 2, 3];
Nyilvánvaló, hogy nem egyszerűen átadhatjuk ezt a tömböt paraméterként a függvénynek, így:
let arr = [1, 2, 3];
func(arr);
Hiszen ebben az esetben az egész tömb a függvény első paraméterébe kerülne, pedig ebbe a paraméterbe számot kellene átadni (és a többi paraméterbe is).
Természetesen tehetünk a következőképpen:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
De van egy egyszerűbb mód is - használhatjuk a spread operátort:
let arr = [1, 2, 3];
func(...arr);
A változó használata nem kötelező - a spread operátort közvetlenül a tömbön is alkalmazhatjuk:
func(...[1, 2, 3]);
Adott egy tömb:
let arr = [1, 2, 3, 4, 5];
Adott egy függvény is:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
Határozza meg a megadott függvény segítségével a tömb elemeinek összegét.