JavaScript'теги spread оператору

ES6'да ... деген атайын оператор пайда болду, анын аты spread.

Spread оператору массивдин алдында турганда, ал массивди жеке маанилерге бөлүп, массивди функцияны чакыруу үчүн керектүү параметрдердин топтомуна айландырат.

Албетте, бул түшүнүксүз укмуштуудай угулат, ошондуктан жөнөкөй мисалды карап көрөлү. Бизде 3 параметр кабыл алган жана алардын суммасын кайтара турган функция бар дейли:

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

Бизде үч элементтен турган массив да бар дейли:

javascriptlet arr = [1, 2, 3];

Белгисиз, биз бул массивди функцияга параметр катары төпөй берсек болбойт, мындайыча:

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

Анткени бул учурда бүт массив функциянын биринчи параметрине түшөт, ал эми бул параметрге сан берүү керек (жана башка параметрлерге дагы).

Албетте, төмөнкүдөй кылса болот:

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

Бирок дагы жеңил жолу бар - spread операторун колдонуу:

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

Өзгөрмөнүн болушу милдеттүү эмес - spread'ти түздөн-түз массивге колдонсо болот:

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

Массив берилген:

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

Функция да берилген:

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

Көрсөтүлгөн функциянын жардамы менен массивдин элементтеринин суммасын табыңыз.