簡體   English   中英

Javascript:Math.random

[英]Javascript: Math.random

如果num參數是52,那么有多少可能的返回值? 是52還是53? 如果我理解正確,Math.random使用從0到1的隨機值。 如果是,那么0是可能的返回值,因此是52.這導致53個可能的返回值。 它是否正確? 我問的原因是我正在學習的一本書使用這個代碼作為一副紙牌。 我想知道num是否應該等於51?

謝謝 ...

function getRandom(num) {
    var my_num = Math.floor(Math.random * num);
    return my_num;
};
Math.floor(Math.random() * num) // note random() is a function.

這將返回從0(包括0)到num (不包括num )的所有整數。

Math.random返回0(包括)和1(不包括)之間的數字。 將結果乘以X可以得到0(包括)和X(不包括)。 添加或減去X會將范圍移動+ -X。

以下是MDN的一些方便功能:

// Returns a random number between 0 (inclusive) and 1 (exclusive)
function getRandom() {
  return Math.random();
}

// Returns a random number between min and max
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}

// Returns a random integer between min and max
// Using Math.round() will give you a non-uniform distribution!
function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

由於Math.random返回之間的實數[0,1) 1 包括在內),結果乘以返回之間的實數[0, 52)

由於您對結果進行了布局,因此返回的最大數量為51並且有52不同的值(計數為0 )。

由於Math.random的值從0變為1(不包括); 因此,如果您在getRandom中傳遞52,則返回值將在0到52之間變化(不包括)。 所以getRandom只能返回52個值。 因為你正在使用Math.floor。 最大值可以返回51。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM