DEV Community

loading...
Cover image for Random Seed in JavaScript and Node.js

Random Seed in JavaScript and Node.js

Gabriel Romualdo
Young web developer (in high school) looking to build something new with code and make a name for myself. More at xtrp.io. Formerly known as Fred Adams.
Originally published at xtrp.io ・2 min read

Originally published here at xtrp.io, my blog about computer science and just about anything programming.

Introduction

Random seed is a method of initializing random number generators using an initial seed value. Random generators with the same seed will output the same pseudo-random results.

I found this method to be particularly useful when developing a game I'm working on, which has a random 'Daily Challenge'. In this case, random seed can be useful to select a random game using the current date as a seed.

Code

So, here's how to create a random seed in Node.js, using the seedrandom NPM package:

// In Node.js
const seedrandom = require('seedrandom');
const generator = seedrandom('[your seed here]');
const randomNumber = generator();
Enter fullscreen mode Exit fullscreen mode

And if you're on the client-side:

// On The Browser
const generator = new Math.seedrandom('[your seed here]');
const randomNumber = generator();
Enter fullscreen mode Exit fullscreen mode

In both of these code snippets, the generator function will return a new random number each time, given the seed the generator was initialized with. In this case, it will be formatted as a numerical value, although

Dependencies

If you're running on Node.js, download the seedrandom package as follows:

npm install seedrandom
Enter fullscreen mode Exit fullscreen mode

Or using Yarn:

yarn add seedrandom
Enter fullscreen mode Exit fullscreen mode

If you're writing client-side code without webpack, you can either download the file from seedrandom's GitHub repository, or use a CDN by adding the following code snippet at the end of your <body> tag:

<script src="https://cdnjs.cloudflare.com/ajax/libs/seedrandom/3.0.5/seedrandom.min.js"></script>
Enter fullscreen mode Exit fullscreen mode

Conclusion

Random seed is one of a few features that is present in most major programming languages but is not available out-of-the-box in JavaScript. It can be incredibly useful in a wide array of cases, both on the web and running on the server-side using Node.

I hope this helps, and thanks for scrolling.

This post is originally from my blog at xtrp.io.

— Gabriel Romualdo, March 26, 2021

Discussion (1)

Collapse
pkhalisoft profile image
Muhammad Khalil

This is beautiful