TypeError: недопустимый аргумент Array.prototype.sort
Исключение JavaScript "invalid Array.prototype.sort argument" возникает, когда аргумент Array.prototype.sort() (и связанных с ним методов: Array.prototype.toSorted(), TypedArray.prototype.sort(), TypedArray.prototype.toSorted()) не является ни undefined, ни функцией, сравнивающей свои операнды.
Сообщение
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)
Тип ошибки
Что пошло не так?
Аргумент Array.prototype.sort() (и связанных с ним методов: Array.prototype.toSorted(), TypedArray.prototype.sort(), TypedArray.prototype.toSorted()) должен быть либо undefined, либо функцией, сравнивающей свои операнды.
Примеры
Недопустимые случаи
[1, 3, 2].sort(5); // TypeError
students.toSorted("name"); // TypeError
Допустимые случаи
[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));
Смотрите также
Array.prototype.sort()Array.prototype.toSorted()TypedArray.prototype.sort()TypedArray.prototype.toSorted()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Array_sort_argument