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:

javascriptfunction func(num1, num2, num3) {
  return num1 + num2 + num3;
}

Tegyük fel, hogy van egy három elemű tömbünk is:

javascriptlet arr = [1, 2, 3];

Nyilvánvaló, hogy nem egyszerűen átadhatjuk ezt a tömböt paraméterként a függvénynek, így:

javascriptlet 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:

javascriptlet 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:

javascriptlet 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:

javascriptfunc(...[1, 2, 3]);
Задание 1

Adott egy tömb:

javascriptlet arr = [1, 2, 3, 4, 5];

Adott egy függvény is:

javascriptfunction 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.