How to Generate Random Integer Between Two Integers in Javascript

Uğur Taş
Codimis
Published in
2 min readDec 26, 2023
Random Number
Photo by Mika Baumeister on Unsplash

You can generate a random integer between two specified values using the following javascript code. Let’s say you want to generate a random integer between a minimum value (min) and a maximum value (max):

function getRandomInt(min, max) {
// Use Math.floor to round down to the nearest whole number
// Use Math.random() to generate a random decimal between 0 (inclusive) and 1 (exclusive)
// Multiply by the range (max - min + 1) to cover the entire range
// Add the minimum value to shift the range to [min, max]
return Math.floor(Math.random() * (max - min + 1)) + min;
}

Explanation:

  1. Math.random(): Generates a random decimal between 0 (inclusive) and 1 (exclusive).
  2. (max - min + 1): Represents the range of possible values.
  3. Math.floor(): Rounds down to the nearest whole number.

By multiplying Math.random() by the range and adding the minimum value, you get a random integer within the specified range.

Note: This is a common method, but it’s important to be aware that the distribution might not be perfectly uniform due to the nature of how floating-point numbers are represented in computers. For most use cases, it should be sufficiently random.

👏 Thank You for Reading!

👨‍💼 I appreciate your time and hope you found this story insightful. If you enjoyed it, don’t forget to show your appreciation by clapping 👏 for the hard work!

📰 Keep the Knowledge Flowing by Sharing the Article!

✍ Feel free to share your feedback or opinions about the story. Your input helps me improve and create more valuable content for you.

✌ Stay Connected! 🚀 For more engaging articles, make sure to follow me on social media:

🔍 Explore More! 📖 Dive into a treasure trove of knowledge at Codimis. There’s always more to learn, and we’re here to help you on your journey of discovery.

--

--

Uğur Taş
Codimis

A software developer with a high passion for learning, improving skills, and sharing knowledge. My motto is “fail million times if you take lessons every time”