A resolução do exercício 4 tem um erro, pois se não houver número negativo no array, o menor número sempre será zero. O código a seguir está funcionando corretamente, com as variáveis iniciando pelo primeiro elemento do array ao invés do valor zero.
const arrMenoresMaiores = [5, 37, 18, 59, 12, 2];
function imprimeMaiorEMenor(arr) {
let maior = arr[0];
let menor = arr[0];
for(let i = 1; i < arr.length; i++) {
if (arr[i] > maior) {
maior = arr[i];
}
if (arr[i] < menor) {
menor = arr[i];
}
}
return `o maior número é ${maior} e o menor número é ${menor}`;
}
console.log(imprimeMaiorEMenor(arrMenoresMaiores));