Riposto con tag:
const dayWeek=[];
let dayhot;
let tH;
for(let i=0; i<7; i+=1){
dayWeek[i]=prompt(`temperatura di ${giorno(i)}`,10); //
if (i==0){
dayhot=dayWeek[i];
tH=i;
}
// questa è la parte incriminata a meno che io non habbia mai capito una mazza
// dovrebbe significare che se la variabile dayhot è più piccola del dato immesso
// allora dovrebbe assumere il valore del nuovo input, ma così non è
console.log(`dayhot ${dayhot} valore ${dayWeek[i]} indice ${i}`);
if (dayhot < dayWeek[i]){
dayhot=dayWeek[i];
console.log(`nuova temperatura ${dayhot}`);
tH=i;
}
}
console.log(`le temperature della settimana`);
for(i=0;i<dayWeek.length;i+=1){
console.log(`${giorno(i)} - ${dayWeek[i]} gradi`);
}
console.log(`il giorno più caldo ${giorno(tH)} con ${dayhot} gradi`);
function giorno(g){
let d;
switch (g) { //converte il numero in nome del giorno
case 0: //domenica
d = "domenica";
break;
case 1:
d = "lunedì";
break;
case 2:
d = "martedì";
break;
case 3:
d = "mercoledì";
break;
case 4:
d = "giovedì";
break;
case 5:
d = "venerdì";
break;
case 6: //sabato
d = "sabato";
}
return d;
}
posso solo aggiungere due cose:
1) sul forum ho trovato un post del tutto simile di Tiziano01 ma che è senza soluzione
2) se l'array è 'riempito' a priori ossia const dayWeek=[17,9,23,11,15,8,16]; (senza i valori immessi da tastiera,) il risultato che si ottiene è coerente con le aspettative (e questo vale anche per il problema proposto da Tiziano01 ).
grazie a tutti quelli che vorranno prestare attenzione.