Merge pull request #713 from EthanOrange/patch-4
Update initializeArrayWithRange snippet
This commit is contained in:
@ -2,13 +2,13 @@
|
||||
|
||||
Initializes an array containing the numbers in the specified range where `start` and `end` are inclusive with their common difference `step`.
|
||||
|
||||
Use `Array.from(Math.ceil((end+1-start)/step))` to create an array of the desired length(the amounts of elements is equal to `(end-start)/step` or `(end+1-start)/step` for inclusive end), `Array.map()` to fill with the desired values in a range.
|
||||
Use `Array.from()` to create an array of the desired length, `(end - start + 1)/step`, and a map function to fill it with the desired values in the given range.
|
||||
You can omit `start` to use a default value of `0`.
|
||||
You can omit `step` to use a default value of `1`.
|
||||
|
||||
```js
|
||||
const initializeArrayWithRange = (end, start = 0, step = 1) =>
|
||||
Array.from({ length: Math.ceil((end + 1 - start) / step) }).map((v, i) => i * step + start);
|
||||
Array.from({length: Math.ceil((end - start + 1) / step)}, (v, i) => i * step + start);
|
||||
```
|
||||
|
||||
```js
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
const initializeArrayWithRange = (end, start = 0, step = 1) =>
|
||||
Array.from({ length: Math.ceil((end + 1 - start) / step) }).map((v, i) => i * step + start);
|
||||
Array.from({length: Math.ceil((end - start + 1) / step)}, (v, i) => i * step + start);
|
||||
module.exports = initializeArrayWithRange;
|
||||
|
||||
@ -4,6 +4,12 @@ const initializeArrayWithRange = require('./initializeArrayWithRange.js');
|
||||
test('initializeArrayWithRange is a Function', () => {
|
||||
expect(initializeArrayWithRange).toBeInstanceOf(Function);
|
||||
});
|
||||
test('Initializes an array containing the numbers in the specified range', () => {
|
||||
test('Initializes an array containing the numbers in the specified range (witout start value)', () => {
|
||||
expect(initializeArrayWithRange(5)).toEqual([0, 1, 2, 3, 4, 5]);
|
||||
});
|
||||
test('Initializes an array containing the numbers in the specified range', () => {
|
||||
expect(initializeArrayWithRange(7,3)).toEqual([3, 4, 5, 6, 7]);
|
||||
});
|
||||
test('Initializes an array containing the numbers in the specified range (with step)', () => {
|
||||
expect(initializeArrayWithRange(9,0,2)).toEqual([0, 2, 4, 6, 8]);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user