在 JavaScript 中生成隨機布林值
    
    Mehvish Ashiq
    2023年10月12日
    
    JavaScript
    JavaScript Random
    JavaScript Boolean
    
- 
          
            在 JavaScript 中使用 Math.random()來生成隨機布林值
- 在 JavaScript 中使用陣列生成隨機布林值
- 
          
            在 JavaScript 中使用 _.sample(collection)方法生成隨機布林值
 
本文介紹瞭如何使用 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)。
我們為什麼要這樣做呢?因為我們給 true 和 false 的發生機會相等。如果小於 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
        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
    
作者: Mehvish Ashiq
    
