Pengendali spread dalam JavaScript

Dalam ES6, muncul pengendali khas ..., yang dipanggil spread.

Apabila pengendali spread diletakkan sebelum array, ia membahagikan array tersebut kepada nilai-nilai individu, menukarkan array menjadi satu set parameter yang diperlukan untuk memanggil fungsi.

Pasti kedengaran tidak jelas, jadi mari kita lihat contoh mudah. Katakan kita mempunyai fungsi yang menerima 3 parameter dan mengembalikan jumlahnya:

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

Katakan kita juga mempunyai array terdiri daripada tiga elemen:

javascriptlet arr = [1, 2, 3];

Jelas sekali, kita tidak boleh hanya mengambil dan menghantar array ini sebagai parameter fungsi, seperti ini:

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

Ini kerana dalam kes ini, keseluruhan array akan masuk ke dalam parameter pertama fungsi, sedangkan parameter ini perlu diisi dengan nombor (dan parameter-parameter lain juga perlu diisi dengan nombor).

Sudah tentu, kita boleh lakukan dengan cara berikut:

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

Tapi ada cara yang lebih mudah - gunakan pengendali spread:

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

Kehadiran pembolehubah bukanlah suatu kemestian - spread boleh digunakan terus pada array:

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

Diberi array:

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

Juga diberikan fungsi:

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

Cari jumlah elemen array dengan menggunakan fungsi yang diberikan.