18 lines
485 B
JavaScript
18 lines
485 B
JavaScript
function rangeRight(start, end, step = 1) {
|
|
if (end == null) {
|
|
end = start;
|
|
start = 0;
|
|
}
|
|
if (!Number.isInteger(step) || step === 0) {
|
|
throw new Error(`The step value must be a non-zero integer.`);
|
|
}
|
|
const length = Math.max(Math.ceil((end - start) / step), 0);
|
|
const result = new Array(length);
|
|
for (let i = 0; i < length; i++) {
|
|
result[i] = start + (length - i - 1) * step;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
export { rangeRight };
|