Spread-operatoren i JavaScript

I ES6 dukkede en speciel operator ... op, som kaldes spread.

Når spread-operatoren står foran et array, opdeler den dette array i separate værdier, hvilket omdanner arrayet til et sæt parametre, der er nødvendige for at kalde en funktion.

Det lyder sikkert uklart, så lad os se på et simpelt eksempel. Lad os sige, at vi har en funktion, der tager 3 parametre og returnerer deres sum:

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

Lad os også sige, at vi har et array med tre elementer:

javascriptlet arr = [1, 2, 3];

Det er indlysende, at vi ikke bare kan sende dette array som et parameter til funktionen, sådan her:

javascriptlet arr = [1, 2, 3];
func(arr);

For i dette tilfælde vil hele arrayet havne i den første parameter for funktionen, og til denne parameter skal man sende et tal (og det samme gælder for de andre parametre).

Man kan selvfølgelig gøre følgende:

javascriptlet arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);

Men der er en nemmere måde - at bruge spread-operatoren:

javascriptlet arr = [1, 2, 3];
func(...arr);

At have en variabel er ikke obligatorisk - man kan anvende spread direkte på arrayet:

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

Givet et array:

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

Der er også givet en funktion:

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

Find summen af arrayets elementer ved hjælp af den givne funktion.