TypedArray.prototype.sort()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The sort() method of TypedArray instances sorts the elements of a typed array in place and returns the reference to the same typed array, now sorted. This method has the same algorithm as Array.prototype.sort(), except that it sorts the values numerically instead of as strings by default.

Try it

Syntax

js
sort()
sort(compareFn)

Parameters

compareFn Optional

A function that determines the order of the elements. The function is called with the following arguments:

a

The first element for comparison.

b

The second element for comparison.

It should return a number where:

  • A negative value indicates that a should come before b.
  • A positive value indicates that a should come after b.
  • Zero or NaN indicates that a and b are considered equal.

To memorize this, remember that (a, b) => a - b sorts numbers in ascending order.

If omitted, the typed array elements are sorted according to numeric value.

Return value

The reference to the original typed array, now sorted. Note that the typed array is sorted in place, and no copy is made.

Description

See Array.prototype.sort() for more details. This method is not generic and can only be called on typed array instances.

Examples

Using sort()

For more examples, see also the Array.prototype.sort() method.

js
let numbers = new Uint8Array([40, 1, 5, 200]);
numbers.sort();
// Uint8Array [ 1, 5, 40, 200 ]
// Unlike plain Arrays, a compare function is not required
// to sort the numbers numerically.

// Regular Arrays require a compare function to sort numerically:
numbers = [40, 1, 5, 200];
numbers.sort();
// [1, 200, 40, 5]

numbers.sort((a, b) => a - b); // compare numbers
// [ 1, 5, 40, 200 ]

Specifications

Specification
ECMAScript Language Specification
# sec-%typedarray%.prototype.sort

Browser compatibility

BCD tables only load in the browser

See also