Baseline Widely available
Math.random()
éææ¹æ³è¿åä¸ä¸ªå¤§äºçäº 0 ä¸å°äº 1 çä¼ªéæºæµ®ç¹æ°ï¼å¹¶å¨è¯¥èå´å
è¿ä¼¼åååå¸ï¼ç¶åä½ å¯ä»¥ç¼©æ¾å°æéçèå´ãå
¶å®ç°å°éæ©éæºæ°çæç®æ³çåå§ç§åï¼å®ä¸è½ç±ç¨æ·éæ©æéç½®ã
夿³¨ï¼ Math.random()
ä¸è½æä¾å¯ç å¦å®å
¨çéæºæ°ã请ä¸è¦ä½¿ç¨å®ä»¬æ¥å¤çä¸å®å
¨ç¸å
³çäºæ
ãè¯·ä½¿ç¨ Web Crypto API 代æ¿ï¼æ´å
·ä½å°æ¥è¯´æ¯ Crypto.getRandomValues()
æ¹æ³ã
function getRandomInt(max) {
return Math.floor(Math.random() * max);
}
console.log(getRandomInt(3));
// Expected output: 0, 1 or 2
console.log(getRandomInt(1));
// Expected output: 0
console.log(Math.random());
// Expected output: a number from 0 to <1
è¯æ³ åæ°
æ ã
è¿åå¼ä¸ä¸ªå¨ 0ï¼å æ¬ï¼å° 1ï¼ä¸å æ¬ï¼ä¹é´çä¼ªéæºæµ®ç¹æ°ã
示ä¾è¯·æ³¨æï¼ç±äº JavaScript ä¸çæ°åæ¯ IEEE 754 æµ®ç¹æ°åï¼å
·æåæè¿å¶æ°èå
¥ï¼round-to-nearest-evenï¼çè¡ä¸ºï¼å æ¤ä»¥ä¸å½æ°çèå´ï¼ä¸å
æ¬ Math.random()
æ¬èº«ï¼å¹¶ä¸åç¡®ã妿鿩äºé常大çè¾¹çï¼253 ææ´é«ï¼ï¼å¨æç½è§çæ
åµä¸æå¯è½è¾¾å°é常æé¤ï¼usually-excludedï¼çä¸çã
function getRandom() {
return Math.random();
}
å¾å°ä¸ä¸ªä¸¤æ°ä¹é´çéæºæ°
该示ä¾è¿åä¸ä¸ªå¨æå®å¼ä¹é´çéæºæ°ãè¿ä¸ªå¼ä¸å°äºï¼ä¸æå¯è½çäºï¼min
ï¼å¹¶ä¸å°äºï¼ä¸ä¸çäºï¼max
ã
function getRandomArbitrary(min, max) {
return Math.random() * (max - min) + min;
}
å¾å°ä¸ä¸ªä¸¤æ°ä¹é´çéæºæ´æ°
è¿ä¸ªç¤ºä¾è¿åä¸ä¸ªå¨æå®å¼ä¹é´çéæºæ´æ°ãè¿ä¸ªå¼ä¸å°äº min
ï¼å¦æ min
䏿¯æ´æ°ï¼åä¸å°äº min
çåä¸åæ´æ°ï¼ï¼ä¸å°äºï¼ä½ä¸çäºï¼max
ã
function getRandomInt(min, max) {
const minCeiled = Math.ceil(min);
const maxFloored = Math.floor(max);
return Math.floor(Math.random() * (maxFloored - minCeiled) + minCeiled); // ä¸å
嫿大å¼ï¼å
嫿å°å¼
}
夿³¨ï¼ ä¹è®¸å¾å®¹ææ³å°ç¨ Math.round()
æ¥å®ç°ï¼ä½æ¯è¿ä¼å¯¼è´ä½ çéæºæ°å¤äºä¸ä¸ªä¸ååçåå¸ï¼è¿å¯è½ä¸ç¬¦åä½ çéæ±ã
è½ç¶ä¸é¢ç getRandomInt()
彿°å
嫿å°å¼ï¼ä½ä¸å«æå¤§å¼ãå¦æä½ éè¦ç»æåæ¶å
嫿å°å¼åæå¤§å¼æä¹åï¼ä¸é¢ç getRandomIntInclusive()
彿°å¯ä»¥å®ç°è¿ä¸ç¹ã
function getRandomIntInclusive(min, max) {
const minCeiled = Math.ceil(min);
const maxFloored = Math.floor(max);
return Math.floor(Math.random() * (maxFloored - minCeiled + 1) + minCeiled); // å
嫿å°å¼åæå¤§å¼
}
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4