Diskuze: Random Number
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Jdi na to přes pole
let cisla = [], sum = 0;
for(let a = 0, b = Number(form.kolik.value) || 0; a !== b; a++) {
cisla[a] = Math.floor(Math.random() * 100) + 1
sum += cisla[a]
form.vystup.value += cisla[a] + "\; "
}
form.vystup.value += '\n' + Math.max(...cisla)
form.vystup.value += '\n' + Math.min(...cisla)
form.vystup.value += '\n' + (sum / cisla.length)
Šlo by to určitě udělat lépe, ale vzhledem k tvému příkladu je tento přístup nejlepší.
Ještě jednou děkuji a pro lidi jako já dávám cele řešení s tím, že průměr zaokrouhluji na dvě desetinná čísla pomocí "toFixed(2)"
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form name="random">
<p><label for="kolik">Počet genrovaných čísel: </label><input name="kolik" value="5"></p>
<p><textarea name="vystup" cols="50" rows="7"></textarea>
<p><input type="button" value="Generuj!" onclick="generuj(document.random);"></p>
</form>
<script>
function generuj(form) {
let cisla = [], sum = 0;
form.vystup.value = "" + "Vygenerované čísla: ";
for(let a = 0, b = Number(form.kolik.value) || 0; a !== b; a++) {
cisla[a] = Math.floor(Math.random() * 100) + 1
sum += cisla[a]
form.vystup.value += cisla[a] + "\; "
}
form.vystup.value += '\n' + "Největší vygenerované číslo: " + Math.max(...cisla)
form.vystup.value += '\n' + "Nejmenší vygenerované číslo: " + Math.min(...cisla)
form.vystup.value += '\n' + "Průměr vygenerovaných čísel: " + (sum / cisla.length).toFixed(2) + "\n";
};
</script>
</script>
</body>
</html>
Určitě jak už uvedl Verquido, který mi pomohl, lze nalézt i jiné řešení.
Zobrazeno 5 zpráv z 5.