TypeError: invalides Array.prototype.sort Argument
Die JavaScript-Ausnahme "invalid Array.prototype.sort argument" tritt auf, wenn das Argument von Array.prototype.sort()
(und seiner verwandten Methoden: Array.prototype.toSorted()
, TypedArray.prototype.sort()
, TypedArray.prototype.toSorted()
) weder undefined
noch eine Funktion ist, die ihre Operanden vergleicht.
Nachricht
TypeError: The comparison function must be either a function or undefined (V8-based) TypeError: invalid Array.prototype.sort argument (Firefox) TypeError: non-function passed to Array.prototype.toSorted (Firefox) TypeError: invalid %TypedArray%.prototype.sort argument (Firefox) TypeError: Array.prototype.sort requires the comparator argument to be a function or undefined (Safari) TypeError: Array.prototype.toSorted requires the comparator argument to be a function or undefined (Safari) TypeError: TypedArray.prototype.sort requires the comparator argument to be a function or undefined (Safari) TypeError: TypedArray.prototype.toSorted requires the comparator argument to be a function or undefined (Safari)
Fehlertyp
Was ist schiefgelaufen?
Das Argument von Array.prototype.sort()
(und seiner verwandten Methoden: Array.prototype.toSorted()
, TypedArray.prototype.sort()
, TypedArray.prototype.toSorted()
) sollte entweder undefined
oder eine Funktion sein, die ihre Operanden vergleicht.
Beispiele
Ungültige Fälle
js
[1, 3, 2].sort(5); // TypeError
students.toSorted("name"); // TypeError
Gültige Fälle
js
[1, 3, 2].sort(); // [1, 2, 3]
[1, 3, 2].sort((a, b) => a - b); // [1, 2, 3]
students.toSorted((a, b) => a.name.localeCompare(b.name));