乐趣区

关于前端:使用JavaScript获取随机数序列

应用 Javascript 生成随机数

要在 Javascript 中生成随机数,能够应用 Math 对象的 random() 办法。该办法返回一个大于等于 0 小于 1 的伪随机浮点数。

Javascript 中的 Math.random() 函数是一个用于生成随机数的内置函数。

MDN 官网解释

Math.random() 函数返回一个浮点数,伪随机数在范畴从 0 到小于 1,也就是说,从 0(包含 0)往上,然而不包含 1(排除 1),而后您能够缩放到所需的范畴。实现将初始种子抉择到随机数生成算法; 它不能被用户抉择或重置。

这个函数没有任何参数,每次调用它都会返回一个新的随机数。

更多具体内容,请 微信搜寻“前端爱好者 戳我 查看

浏览器兼容性

以下是应用 Javascript 生成随机数的示例代码:

  1. 生成一个介于 0 到 1 之间的随机小数:

    let randomNumber = Math.random();
    console.log(randomNumber);
  2. 生成一个介于指定范畴内的随机整数(蕴含最小值和最大值):

    function getRandomInt(min, max) {return Math.floor(Math.random() * (max - min + 1)) + min;
    }
    
    let randomInteger = getRandomInt(1, 10); // 生成 1 到 10 之间的随机整数
    console.log(randomInteger);
  3. 生成一个介于 0 和 10 之间的随机整数
var randomInt = Math.floor(Math.random() * 11);
console.log(randomInt);

在这个示例中,咱们将 Math.random()的后果乘以 11,而后应用 Math.floor()函数向下取整以取得一个整数。

  1. 生成一个介于指定范畴内的随机浮点数:

    function getRandomFloat(min, max) {return Math.random() * (max - min) + min;
    }
    
    let randomFloat = getRandomFloat(1.5, 5.5); // 生成 1.5 到 5.5 之间的随机浮点数
    console.log(randomFloat);

这些示例代码演示了如何通过 Math.random() 办法生成不同类型的随机数。你能够依据须要进行调整和扩大。

如何应用 Javascript 代码来生成一个蕴含中划线的 17 位随机数,第五位须要是中划线

上面是对生成蕴含中划线的 17 位随机数的 Javascript 代码进行具体解析:

function generateRandomNumber() {
  var result = ''; // 初始化一个空字符串来保留最终生成的随机数
  var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; // 定义可能呈现的字符汇合
  var charactersLength = characters.length; // 获取字符汇合的长度

  for (var i = 0; i < 17; i++) {if (i === 4) {result += '-'; // 在第五位插入中划线} else {
      // 在其余地位生成随机字符
      var randomIndex = Math.floor(Math.random() * charactersLength); // 生成一个随机索引,范畴从 0 到 charactersLength-1
      var randomCharacter = characters.charAt(randomIndex); // 依据随机索引获取一个字符
      result += randomCharacter; // 将随机字符增加到后果字符串中
    }
  }

  return result; // 返回生成的随机数
}

var randomNum = generateRandomNumber(); // 调用 generateRandomNumber 函数来获取随机数
console.log(randomNum); // 打印随机数到控制台

这段代码应用了一个 for 循环来生成一个蕴含中划线的 17 位随机数。上面是代码的具体解析:

  1. 首先,咱们定义了一个名为 generateRandomNumber 的函数,它没有参数。
  2. 在函数外部,咱们初始化了一个空字符串 result,用于保留最终生成的随机数。
  3. 咱们定义了一个蕴含可能呈现的字符的字符串 characters,其中包含大写字母、小写字母和数字。
  4. 通过 characters.length 获取到字符汇合的长度,并将其存储在变量 charactersLength 中。
  5. 接下来,咱们应用一个 for 循环来生成随机数。循环的条件为 i < 17,即执行循环体 17 次。
  6. 在循环体内,咱们应用条件语句判断以后的索引 i 是否为第五位(即 i === 4)。如果是第五位,则在后果字符串 result 中增加一个中划线(-)。
  7. 如果以后索引不是第五位,则通过以下步骤生成一个随机字符:

    • 生成一个随机索引 randomIndex,范畴从 0 到 charactersLength - 1,应用 Math.floor(Math.random() * charactersLength) 实现。
    • 依据随机索引 randomIndex 从字符汇合 characters 中获取一个随机字符,并将其存储在变量 randomCharacter 中。
    • 将随机字符 randomCharacter 增加到后果字符串 result 中。
  8. 循环完结后,咱们返回生成的随机数 result
  9. 最初,咱们调用 generateRandomNumber 函数并将后果保留在变量 randomNum 中。

    • 您能够依据须要批改函数名和变量名。
  10. 咱们应用 console.log 将生成的随机数打印输出到控制台。

这就是生成蕴含中划线的 17 位随机数的 Javascript 代码的解析过程。

须要留神的是,Math.random()函数生成的是伪随机数,也就是说它们是通过某种算法计算失去的,并不是真正随机的,并不能保障相对的唯一性。如果须要更高质量的随机数,可能须要应用其余的库或算法,如 UUID。

扩大

Javascript Math 对象

Javascript 的 Math 对象是一个内置的数学对象,它提供了用于进行数学计算的办法和常量。

上面是一些罕用的 Math 对象的属性和办法:

  1. Math.PI:示意圆周率 π 的近似值,约为 3.14159。
  2. Math.abs(x):返回一个数的绝对值,即该数的正值。
  3. Math.ceil(x):返回大于或等于给定数字的最小整数。
  4. Math.floor(x):返回小于或等于给定数字的最大整数。
  5. Math.round(x):返回给定数字的四舍五入值。
  6. Math.max(x, y, …):返回一组数字中的最大值。
  7. Math.min(x, y, …):返回一组数字中的最小值。
  8. Math.random():生成一个大于等于 0 小于 1 的随机数。
  9. Math.sqrt(x):返回给定数的平方根。

除了这些罕用的办法外,Math 对象还提供了其余一些数学计算的办法,如三角函数、指数和对数等。

应用办法示例:

console.log(Math.PI); // 输入圆周率的近似值 3.14159

var x = -10;
console.log(Math.abs(x)); // 输入 10

var y = 3.7;
console.log(Math.ceil(y)); // 输入 4
console.log(Math.floor(y)); // 输入 3
console.log(Math.round(y)); // 输入 4

console.log(Math.max(5, 10, 2)); // 输入 10
console.log(Math.min(5, 10, 2)); // 输入 2

console.log(Math.random()); // 输入一个大于等于 0 小于 1 的随机数

var z = 16;
console.log(Math.sqrt(z)); // 输入 4

这只是 Math 对象的一些罕用办法和属性,还有其余更多功能能够在 Javascript 的文档中查找到。

其余应用 JavaScript 的 Math 对象的示例

  1. 生成随机数:
var randomNum = Math.random(); // 生成一个大于等于 0 小于 1 的随机数
console.log(randomNum);
  1. 计算绝对值:
var x = -10;
var absValue = Math.abs(x); // 计算 x 的绝对值
console.log(absValue);
  1. 向上取整和向下取整:
var y = 3.7;
var ceilValue = Math.ceil(y); // 向上取整
var floorValue = Math.floor(y); // 向下取整
console.log(ceilValue);
console.log(floorValue);
  1. 四舍五入:
var z = 3.2;
var roundedValue = Math.round(z); // 四舍五入
console.log(roundedValue);
  1. 计算最大值和最小值:
var maxNum = Math.max(5, 10, 2); // 计算一组数字中的最大值
var minNum = Math.min(5, 10, 2); // 计算一组数字中的最小值
console.log(maxNum);
console.log(minNum);
  1. 计算平方根:
var sqrtValue = Math.sqrt(16); // 计算给定数的平方根
console.log(sqrtValue);

这些示例展现了如何应用 Math 对象进行数学计算。

依据具体的需要,能够联合不同的办法和属性来实现更简单的数学操作。

退出移动版