Suppose we have an interval that always starts from 0 and ends at some positive integer n, lets denote the interval with an array like this −
const interval = [0, n];
Or simply, since we know that the range will always start at 0, lets denote the interval by only the upper limit.
const interval = n;
We are required to write a JavaScript function that takes in two numbers as first and the second argument.
The first argument represents an interval starting from 0 and end at that number. And the second number determines how many equal intervals (if possible) we have to create between the actual interval.
For example: If the input arguments are 3 and 2.
Then the actual interval is [0, 3] = [0, 1, 2, 3] and we have to divide this into 2 equal intervals (if possible)
Therefore, for these inputs the output should be −
const output = [ [0, 1], [2, 3] ];
Note that the upper and lower limits of intervals are always whole numbers.
The code for this will be −
Example
const getIntervals = (interval, num) => {
const size = Math.floor(interval / num);
const res = [];
for (let i = 0; i <= interval;
i += size) {
const a = i == 0 ? i : i += 1;
const b = i + size > interval ? interval : i + size;
if (a < interval){
res.push([a, b]);
};
};
return res;
};
console.log(getIntervals(3, 2));Output
And the output in the console will be −
[ [0, 1], [2, 3] ]