Skip to main content

rangeRight()

rangeRight(end): number[]

rangeRight(start, end, step?): number[]

Creates an array of numbers progressing from start up to, but not including, end, in descending order.

DEPRECATED

Use range().reverse() directly instead.


Parameters​

Overload 1:

end: number​

The end of the range (or start when used with two arguments).

Overload 2:

start: number​

end: number​

The end of the range (or start when used with two arguments).

step?: number​


Returns: number[]​

The range of numbers in reverse order.


See Also​

range


Since​

2.0.0


Also known as​

rangeRight (Lodash, es-toolkit) · ❌ (Remeda, Radashi, Ramda, Effect, Modern Dash, Antfu)


Example​

// ❌ Deprecated approach
rangeRight(4); // => [3, 2, 1, 0]
rangeRight(1, 5); // => [4, 3, 2, 1]
rangeRight(0, 20, 5); // => [15, 10, 5, 0]

// βœ… Recommended approach
range(4).reverse(); // => [3, 2, 1, 0]
range(1, 5).reverse(); // => [4, 3, 2, 1]
range(0, 20, 5).reverse(); // => [15, 10, 5, 0]

How it works?​

Creates a range of numbers from end to start. Deprecated: Use range() with reverse, or generate manually.

Native Equivalent​

// ❌ rangeRight(n)
// βœ… [...Array(n).keys()].reverse()
// βœ… Array.from({length: n}, (_, i) => n - 1 - i)

Use Cases​

Generate descending range πŸ“Œβ€‹

Create array of numbers in descending order.

import { range } from '@pithos/arkhe';
range(4).reverse(); // [3, 2, 1, 0]

Countdown sequence​

Generate countdown numbers.

import { range } from '@pithos/arkhe';
const countdown = range(1, 11).reverse(); // [10, 9, 8, ..., 1]