[Chapter 21] Reference: Array.sort()
Author: David Flanagan
Date: Fri Aug 29 11:13:59 1997

#

| Chapter 21 JavaScript Reference |

# Array.sort() Method

## Name

Array.sort() Method---sort the elements of an array

## Availability

Navigator 3.0

## Synopsis

    array.sort()
    array.sort(orderfunc)

### Arguments

`orderfunc`

  An optional function used to specify the sorting order.

### Returns

Nothing.

## Description

The `sort()` method sorts the elements of `array` in place--i.e., no copy of the array is made. If `sort()` is called with no arguments, then the elements of the array are arranged in alphabetical order (more precisely: the order determined by the character encoding). To do this, elements are first converted to strings, if necessary, so that they can be compared.

If you want to sort the array elements in some other order, you must supply a comparison function that compares two values and returns a number indicating their relative order. The comparison function should take two arguments, `a` and `b`, and should:

- Return a value less than zero if, according to your sort criteria, `a` is "less than" `b`, and should appear before `b` in the sorted array.

- Return zero if `a` and `b` are equivalent for the purposes of this sort.

- Return a value greater than zero if `a` is "greater than" `b` for the purposes of the sort.

The example section shows how you might write a comparison function to sort an array of numbers in numerical, rather than alphabetical order.

## Example

The following code shows how you can write an ordering function and use it to sort an array:

    // An ordering function for a numerical sort
    function numberorder(a, b) { return a - b; }
    a = new Array(33, 4, 1111, 222);
    a.sort();             // Alphabetical sort:  1111, 222, 33, 4
    a.sort(numberorder);  // Numerical sort: 4, 33, 222, 1111

## See Also

"Array", "Array.reverse()"

Array.reverse() |  | assign()