迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

在 JavaScript 中生成随机布尔值

作者:迹忆客 最近更新:2024/03/19 浏览次数:

本文介绍了如何使用 lodash 的 Math.random()、数组和 _.sample(collection) 函数在 JavaScript 中生成随机布尔值。Math.random() 函数返回 0 到 1 之间的数字,其中 0 包括在内,而 1 则不包括在内。

_.sample(collection) 方法接受一个集合并从提供的集合中随机返回一个值。

要使用 lodash 的 _.sample(collection) 方法,请在 <head> 元素中添加以下代码行。

<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.10/lodash.min.js"></script>

在 JavaScript 中使用 Math.random() 来生成随机布尔值

Math.random() 返回 [0,1) 范围内的任何数字,其中 0 包含在内,但 1 不包含在内。

我们可以将此范围分成两个分区。第一个分区范围从 [0,0.5),第二个从 [0.5,1)

我们为什么要这样做呢?因为我们给 truefalse 的发生机会相等。如果小于 0.5,则为;否则,布尔值将为 false

例子:

var random_boolean_value = Math.random() < 0.5;
console.log(random_boolean_value)

输出:

false

让我们编写一个更详细的代码,看看它是否在小于 0.5 时返回 true

请参阅以下代码段。

for (var i = 0; i < 10; i++) {
  var rand_number = Math.random();
  console.log(rand_number);
  var random_boolean_value = rand_number < 0.5;
  console.log(random_boolean_value);
}

输出:

0.06464303463834886
true
0.27911502950509837
true
0.9811371177556913
false
0.539086724802587
false
0.3440647317306955
true
0.8779878853066467
false
0.2889025142115962
true
0.6346333079296975
false
0.28944321051370525
true
0.35970422088985354
true

在 JavaScript 中使用数组生成随机布尔值

让我们学习一个更优化的版本,以在 JavaScript 中生成随机布尔值。

检查以下实例,我们使用 Math.random() 产生一个随机值,乘以 Array.prototype.length。然后,使用 Math.floor() 方法四舍五入最接近的整数。

例子:

const sample = arr => arr[Math.floor(Math.random() * arr.length)];
console.log(sample([true, false]));

输出:

true

在 JavaScript 中使用 _.sample(collection) 方法生成随机布尔值

例子:

<html>
	<head>
		<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.10/lodash.min.js"></script>
	</head>
	<body>
		<script>
    		console.log(_.sample([true, false]));
		</script>
	</body>
</html>

输出:

false

上一篇:在 JavaScript 中生成随机颜色

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

JavaScript 删除特殊字符

发布时间:2024/03/19 浏览次数:187 分类:JavaScript

本教程介绍如何使用带有和不带有 jQuery 的 JavaScript 从字符串中删除特殊字符。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便