Random Seed in JavaScript and Node.js
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:
1// In Node.js 2const seedrandom = require('seedrandom'); 3const generator = seedrandom('[your seed here]'); 4const randomNumber = generator(); 5
And if you're on the client-side:
1// On The Browser 2const generator = new Math.seedrandom('[your seed here]'); 3const randomNumber = generator(); 4
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.
Dependencies
If you're running on Node.js, download the seedrandom package as follows:
npm install seedrandom
Or using Yarn:
yarn add seedrandom
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:
1<script src="https://cdnjs.cloudflare.com/ajax/libs/seedrandom/3.0.5/seedrandom.min.js"></script> 2
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.
— Gabriel Romualdo, March 26, 2021