JavaScript >> Javascript 文檔 >  >> Tags >> DOM

JavaScript:在範圍內生成隨機數

簡介

作為軟件開發人員,我們經常會遇到需要在代碼中插入一些隨機性的情況。

在本文中,我們將了解如何在 JavaScript 中生成隨機數。我們還將介紹一些處理隨機數的內置方法。最後,我們將通過編寫一個模擬六面骰子的函數來充分利用這些知識。

在 JavaScript 中生成隨機數

Math.random() 在 JavaScript 中生成 0 之間的浮點(十進制)隨機數 和 1 (包括 0,但不包括 1)。讓我們通過調用來檢查一下:

console.log(Math.random())

這將輸出一個類似於以下的浮點數:

0.9261766792243478

如果您正在處理百分比,這很有用,因為 0 之間的任何值 和 1 ,四捨五入到小數點後兩位,可以認為是百分位數。

生成範圍內的隨機整數

不過,我們通常不處理 0 到 1 範圍內的浮點數。那麼,讓我們看看一種對浮點數進行四捨五入的方法。

我們可以向下取整 使用 Math.floor() 的浮點數 .同樣,我們可以四捨五入 Math.ceil() 的數字 功能:

console.log(Math.floor(3.6))
console.log(Math.ceil(3.6))

這將為我們提供輸出:

3
4

讓我們在 min 之間生成一個隨機數 和 max , 不包括 max

function randomNumber(min, max){
    const r = Math.random()*(max-min) + min
    return Math.floor(r)
}

或者,我們可以包含 max 使用 Math.ceil() 代替函數。

我們乘以 (max-min) 將範圍 [0,1) 轉換為 [0, max-min )。接下來,要獲得所需範圍內的隨機數,我們添加 min .最後,我們使用 Math.floor() 將其四捨五入為整數 .

免費電子書:Git Essentials

查看我們的 Git 學習實踐指南,其中包含最佳實踐、行業認可的標準以及隨附的備忘單。停止谷歌搜索 Git 命令並真正學習 它!

讓我們調用這個方法幾次,觀察一下結果:

for (var i = 0; i < 10; i++) {
  console.log(randomNumber(0, 10))
}

這將輸出類似於:

8
3
3
0
1
1
8
2
8
8

結論

在程序中生成偽隨機數可用於模擬遊戲中敵人的不可預測性,或者在我們都知道和喜愛的塊狀遊戲中隨機化森林。它還可以用於在測試您編寫的另一個程序時模擬隨機輸入。

無論哪種方式,生成隨機數都是任何工程師工具包中的重要工具,應盡可能擴展不同的生成方法和算法。本文只是學習隨機數生成的第一步。


Tutorial JavaScript 教程
  1. 二叉搜索樹:插入、查找和驗證

  2. ReactJS for Beginners 07 - 實現註冊表單

  3. JavaScript/TypeScript 中的構建器模式

  4. 為什麼你不應該作為前端 Web 開發的初學者學習 React、Angular 或 Vue。

  5. Piral 微前端簡介

  6. 使用 Exiftool 庫從 ReactJS 和 Nodejs 中的媒體文件中提取所有 Exif 數據

  7. 餘燼時報 - 第 189 期

  1. 需要關於 React+Material UI 組件目錄結構的建議

  2. 使用 Apollo Server 將遠程模式簡單而直接地拼接到本地模式中

  3. Typescript 中的生成器

  4. 延遲加載的水平滾動

  5. 同步javascript:設置輸入值後如何繼續腳本?

  6. JavaScript 中的接縫

  7. 使用 mLab 和 Heroku 在 30 分鐘內部署您自己的 REST API

  1. JS 原始數據類型的相當不錯且相當準確的介紹(第 1 部分)

  2. 使用 grandjs 在 nodejs 中構建嵌套路由

  3. 用於數據可視化和報告的 JavaScript 庫。免費的開發工具。你的意見?

  4. 理解 JAVASCRIPT 中的提升概念