diff --git a/snippets/randomIntWithLengthInRange.md b/snippets/randomIntWithLengthInRange.md new file mode 100644 index 000000000..50d986eb1 --- /dev/null +++ b/snippets/randomIntWithLengthInRange.md @@ -0,0 +1,23 @@ +### randomIntWithLengthInRange + +Returns a random integer in the specified range and length. + +Use `Array.from()` to create an empty array of the specific length. `Math.random()` to generate a random number and map it to the desired range, using `Math.floor()` to make it an integer. + +```js +const randomIntWithLengthInRange = (len, min, max) => + Array.from({ length: len }, () => + Math.floor(Math.random() * (max - min) + min) + ); +``` + +
+Examples + +```js +randomIntWithLengthInRange(10, 12, 35); // [ 14, 20, 12, 29, 23, 16, 26, 22, 15, 24 ] +``` + +
+ +
[⬆ Back to top](#table-of-contents) diff --git a/tag_database b/tag_database index 3502b8992..6958f6912 100644 --- a/tag_database +++ b/tag_database @@ -140,6 +140,7 @@ pullAtIndex:array pullAtValue:array randomHexColorCode:utility,random randomIntegerInRange:math,utility,random +randomIntWithLengthInRange:math,utility,random randomNumberInRange:math,utility,random readFileLines:node,array,string redirect:browser,url diff --git a/test/randomIntWithLengthInRange/randomIntWithLengthInRange.js b/test/randomIntWithLengthInRange/randomIntWithLengthInRange.js new file mode 100644 index 000000000..01ee88541 --- /dev/null +++ b/test/randomIntWithLengthInRange/randomIntWithLengthInRange.js @@ -0,0 +1,4 @@ +module.exports = randomIntWithLengthInRange = (len, min, max) => +Array.from({ length: len }, () => +Math.floor(Math.random() * (max - min) + min) +); \ No newline at end of file diff --git a/test/randomIntWithLengthInRange/randomIntWithLengthInRange.test.js b/test/randomIntWithLengthInRange/randomIntWithLengthInRange.test.js new file mode 100644 index 000000000..44bec6e2d --- /dev/null +++ b/test/randomIntWithLengthInRange/randomIntWithLengthInRange.test.js @@ -0,0 +1,13 @@ +const test = require('tape'); +const randomIntWithLengthInRange = require('./randomIntWithLengthInRange.js'); + +test('Testing randomIntWithLengthInRange', (t) => { + //For more information on all the methods supported by tape + //Please go to https://github.com/substack/tape + t.true(typeof randomIntWithLengthInRange === 'function', 'randomIntWithLengthInRange is a Function'); + //t.deepEqual(randomIntWithLengthInRange(args..), 'Expected'); + //t.equal(randomIntWithLengthInRange(args..), 'Expected'); + //t.false(randomIntWithLengthInRange(args..), 'Expected'); + //t.throws(randomIntWithLengthInRange(args..), 'Expected'); + t.end(); +}); \ No newline at end of file