-
Fototrend
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
válasz
Speeedfire
#5965
üzenetére
Némileg minimalizálva
-
válasz
Speeedfire
#5965
üzenetére
Csak egy apróság - ha már az erőforrásigény érdekel. Az aláhúzott rész felesleges:
function getValue() {
var result = Math.floor(Math.random() * 10) + 1;
if(result<=3) {
return 1;
} else if(result>3 && result<=7) {
return 2;
} else {
return 3;
}
}document.getElementById('result').value = getValue();
Amúgy a Math.floor, meg a +1 is felesleges. Ja és nem 7, hanem 8 (30% + 50% = 80%)

function getValue() {
var result = Math.random();
if(result<0.3) {
return 1;
} else if(result<0.8) {
return 2;
} else {
return 3;
}
}document.getElementById('result').value = getValue();
-
Jim-Y
veterán
válasz
Speeedfire
#5965
üzenetére
Két külön dolgot csinálsz először, majd most. Az első példában X (100) darab elemből 30 darab egyest, 40db 2-t maradék 3-ast adsz vissza, tehát 1-esből 30% kettesből 40, stb darabod lesz. Ahogy csináltad az nem tartom túl erőforrásigényesnek mert O(n)-es a műveletigény. A második példában generálsz véletlen számokat 10-ig majd a véletlen szám függvényében adsz vissza valamit. Itt nem tudod garantálni hogy melyik milyen arányban legyen mert pszeudorandom lesz a szám. Nem akarod leírni hogy mit akarsz így megoldani hátha van rá jobb/más megoldás?
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

