TypeError: invalid Array.prototype.sort argument
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ï¼ 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)
é误类å
TypeError
ä»ä¹å°æ¹åºéäºï¼
Array.prototype.sort() æ¹æ³ï¼ä»¥åå
¶ç¸å
³æ¹æ³ï¼Array.prototype.toSorted()ãTypedArray.prototype.sort()ãTypedArray.prototype.toSorted()ï¼çåæ°åºä¸º undefined æç¨äºæ¯è¾å
¶æä½æ°ç彿°ã
示ä¾
>æ æç¤ºä¾
js
[1, 3, 2].sort(5); // TypeError
students.toSorted("name"); // TypeError
ææç¤ºä¾
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));