【发布时间】:2023-10-18 22:58:01
【问题描述】:
我试过这个代码
function sort() {
var ary = [2, 1, 0.4, 2, 0.4, 0.2, 1.5, 1, 1.1, 1.3, 1.2, 0.2, 0.4, 0.9];
alert(ary.sort(function(a, b) {return a < b;}));
}
sort();
但结果是
[1, 2, 2, 1.1, 0.9, 1.2, 1.5, 1, 1.3, 0.4, 0.4, 0.4, 0.2, 0.2]
如果数组的长度很短,它可以工作。但它不适用于长数组。 谢谢。
【问题讨论】:
-
您可以将其缩短为
return ary.sort((a,b) => a < b); -
抱歉,误会了。请尝试编辑一个。
-
试试
function(a, b) {return a - b;} -
@SterlingArcher
Array.prototype.sort()期望返回整数,而不是布尔值;) -
@Archer 打得好,我更关注语法而不是排序问题,哈哈
标签: javascript arrays json