UNPKG

locutus

Version:

Locutus other languages' standard libraries to JavaScript for fun and educational purposes

27 lines (26 loc) 958 B
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; }