TypeError: invalid Array.prototype.sort argument
JavaScript の例外 "invalid Array.prototype.sort argument" は、 Array.prototype.sort()
の引数が undefined
でもオペランドを比較する関数でもない場合に発生します。
エラーメッセージ
TypeError: argument is not a function object (Edge) TypeError: invalid Array.prototype.sort argument (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]