locutus
Version:
Locutus other languages' standard libraries to JavaScript for fun and educational purposes
27 lines (26 loc) • 958 B
JavaScript
export function rand(...providedArgs) {
// discuss at: https://locutus.io/php/rand/
// parity verified: PHP 8.3
// original by: Leslie Hoare
// bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)
// note 1: See the commented out code below for a version which
// note 1: will work with our experimental (though probably unnecessary)
// note 1: srand() function)
// example 1: rand(1, 1)
// returns 1: 1
const [min, max] = providedArgs;
let minValue;
let maxValue;
if (providedArgs.length === 0) {
minValue = 0;
maxValue = 2147483647;
}
else if (providedArgs.length === 1) {
throw new Error('Warning: rand() expects exactly 2 parameters, 1 given');
}
else {
minValue = Number(min);
maxValue = Number(max);
}
return Math.floor(Math.random() * (maxValue - minValue + 1)) + minValue;
}