为了账号安全,请及时绑定邮箱和手机立即绑定

如何正确排序整数数组

如何正确排序整数数组

如何正确排序整数数组试图从我知道的数组中获得最高和最低值仅包含整数似乎比我想象的更难。var numArray = [140000, 104, 99]; numArray = numArray.sort(); alert(numArray)我希望这能表明99, 104, 140000。相反它显示104, 140000, 99。所以似乎排序是将值作为字符串处理。有没有办法让sort函数实际对整数值进行排序?
查看完整描述

4 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

array.sort默认使用字典排序,对于数字排序,提供自己的函数。这是一个简单的例子:

function compareNumbers(a, b){
    return a - b;}numArray.sort(compareNumbers);

另请注意,排序工作“就地”,不需要分配。


查看完整回答
反对 回复 2019-05-28
?
呼唤远方

TA贡献1856条经验 获得超11个赞

这个答案等同于一些现有的答案,但ECMAScript 6 箭头函数提供了更紧凑的语法,允许我们在不牺牲可读性的情况下定义内联排序函数:

numArray = numArray.sort((a, b) => a - b);

今天大多数浏览器都支持它。


查看完整回答
反对 回复 2019-05-28
  • 4 回答
  • 0 关注
  • 1010 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信