JavaScript да spread ёрдамида массивнинг экстремал қийматлари

Куйидаги кодга қара:

javascriptlet max = Math.max(1, 2, 3, 4, 5);

Куриб турганингиздек, бу кодда сонларнинг энги каттаси топилмокда. Лекин агар бизнинг сонларимиз массив кўринишида бўлса? Масалан, мана шундай:

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

Афсуски, биз куйидагини қила олмаймиз:

javascriptlet arr = [1, 2, 3, 4, 5];
let max = Math.max(arr); // бу ерда массив ўтказа олмаймиз

Албатта, биз Math.max ичида массив элементларини ўзимиз қўйишимиз мумкин, мана шундай:

javascriptlet arr = [1, 2, 3, 4, 5];
let max = Math.max(arr[0], arr[1], arr[2], arr[3], arr[4]);

Бирок, бу ҳолда барча универсаллик йўқолadi: бизнинг кодимиз фақат 5 та элементли массив учунгина энг катта қийматни топади.

Агар бизга массивда кўпроқ ёки камроқ элемент керек бўлса? Ечим бор! Spread операторидан фойдаланамиз:

javascriptlet arr = [1, 2, 3, 4, 5]
let max = Math.max(...arr);

Бу код, унинг соддалигига қарамай, жуда кучли. Чунки Math.max исталганча параметрларни қабул қила олади, демак spread оператори ёрдамида биз исталган ҳажмдаги массивдан фойдалана оламиз!

Задание 1

Сонлардан иборат массив берилган. Math.min ва spread дан фойдаланиб, массивнинг энг кичик қийматини экрангa чиқаринг.