UNB/ CS/ David Bremner/ teaching/ cs2613/ books/ mdn/ Reference/ Errors/ ""TypeError:

The JavaScript exception "invalid Array.prototype.sort argument" occurs when the argument of Array.prototype.sort isn't either undefined or a function which compares its operands.

Message

TypeError: The comparison function must be either a function or undefined (V8-based)
TypeError: invalid Array.prototype.sort argument (Firefox)
TypeError: Array.prototype.sort requires the comparator argument to be a function or undefined (Safari)

Error type

TypeError

What went wrong?

The argument of Array.prototype.sort is expected to be either undefined or a function which compares its operands.

Examples

Invalid cases

[1, 3, 2].sort(5); // TypeError

Valid cases

[1, 3, 2].sort(); // [1, 2, 3]
[1, 3, 2].sort((a, b) => a - b); // [1, 2, 3]

See also