试图从我知道的数组中获得最高和最低值只包含整数似乎比我想象的要难.
var numArray = [140000, 104, 99];
numArray = numArray.sort();
alert(numArray)Run Code Online (Sandbox Code Playgroud)
我希望这能表明99, 104, 140000.相反它显示104, 140000, 99.所以似乎排序是将值作为字符串处理.
有没有办法让sort函数实际对整数值进行排序?
我总是这样成功地对我的数组进行排序(当我不想要标准的词典排序时):
var arr = […] // some numbers or so
arr.sort(function(a, b) {
return a > b;
});
Run Code Online (Sandbox Code Playgroud)
现在,有人告诉我这是错的,我需要return a-b改为.这是真的,如果是的话为什么?我测试了我的比较功能,它有效!另外,为什么我的解决方案在出错时会如此常见?