diff --git a/snippets/randomIntArrayInRange.md b/snippets/randomIntArrayInRange.md new file mode 100644 index 000000000..e9a341843 --- /dev/null +++ b/snippets/randomIntArrayInRange.md @@ -0,0 +1,14 @@ +### randomIntArrayInRange + +Returns an array of n random integers in the specified range. + +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 randomIntArrayInRange = (min, max, n = 1) => + Array.from({ length: n }, () => Math.floor(Math.random() * (max - min + 1)) + min); +``` + +```js +randomIntArrayInRange(12, 35, 10); // [ 34, 14, 27, 17, 30, 27, 20, 26, 21, 14 ] +``` diff --git a/tag_database b/tag_database index b9675b6b2..087c1364f 100644 --- a/tag_database +++ b/tag_database @@ -141,6 +141,7 @@ pullAtIndex:array pullAtValue:array randomHexColorCode:utility,random randomIntegerInRange:math,utility,random +randomIntArrayInRange:math,utility,random randomNumberInRange:math,utility,random readFileLines:node,array,string redirect:browser,url diff --git a/test/randomIntArrayInRange/randomIntArrayInRange.js b/test/randomIntArrayInRange/randomIntArrayInRange.js new file mode 100644 index 000000000..1f392f255 --- /dev/null +++ b/test/randomIntArrayInRange/randomIntArrayInRange.js @@ -0,0 +1,2 @@ +module.exports = randomIntArrayInRange = (min, max, n = 1) => +Array.from({ length: n }, () => Math.floor(Math.random() * (max - min + 1)) + min); \ No newline at end of file diff --git a/test/randomIntArrayInRange/randomIntArrayInRange.test.js b/test/randomIntArrayInRange/randomIntArrayInRange.test.js new file mode 100644 index 000000000..57952ff83 --- /dev/null +++ b/test/randomIntArrayInRange/randomIntArrayInRange.test.js @@ -0,0 +1,13 @@ +const test = require('tape'); +const randomIntArrayInRange = require('./randomIntArrayInRange.js'); + +test('Testing randomIntArrayInRange', (t) => { + //For more information on all the methods supported by tape + //Please go to https://github.com/substack/tape + t.true(typeof randomIntArrayInRange === 'function', 'randomIntArrayInRange is a Function'); + //t.deepEqual(randomIntArrayInRange(args..), 'Expected'); + //t.equal(randomIntArrayInRange(args..), 'Expected'); + //t.false(randomIntArrayInRange(args..), 'Expected'); + //t.throws(randomIntArrayInRange(args..), 'Expected'); + t.end(); +}); \ No newline at end of file