TypeError: invalid Array.prototype.sort argument (TypeError: недопустимый Array.prototype.sort argument)
Сообщение
TypeError: аргумент не является объектом функции (Edge) TypeError: недопустимый Array.prototype.sort аргумент для (Firefox)
Тип ошибки
Что пошло не так?
Аргумент Array.prototype.sort()
предполагается либо undefined
или функцию, которая сравнивает его операндов.
Примеры
Неправильные примеры
js
[1, 3, 2].sort(5); // TypeError
var cmp = { asc: (x, y) => x >= y, dsc: (x, y) => x <= y };
[1, 3, 2].sort(cmp[this.key] || "asc"); // TypeError
правильные
js
[1, 3, 2].sort(); // [1, 2, 3]
var cmp = { asc: (x, y) => x >= y, dsc: (x, y) => x <= y };
[1, 3, 2].sort(cmp[this.key || "asc"]); // [1, 2, 3]