如何正确地对整数数组进行排序。

37 浏览
0 Comments

如何正确地对整数数组进行排序。

尝试从一个只包含整数的数组中获取最高和最低值似乎比我想象的要困难。

var numArray = [140000, 104, 99];
numArray = numArray.sort();
console.log(numArray)

我希望这个结果显示为 99, 104, 140000。但实际上它显示为 104, 140000, 99。所以看起来排序将这些值作为字符串来处理。

有没有办法让排序函数根据整数值实际排序?

admin 更改状态以发布 2023年5月24日
0
0 Comments

在上面所有答案的基础上,它们也可以像这样一行完成:

var numArray = [140000, 104, 99];
numArray = numArray.sort(function (a, b) {  return a - b;  });
//outputs: 99, 104, 140000

0
0 Comments

默认情况下,sort方法按字母顺序排序元素。要按数字排序,只需添加一个处理数字排序的新方法(sortNumber,如下所示)-

var numArray = [140000, 104, 99];
numArray.sort(function(a, b) {
  return a - b;
});
console.log(numArray);

文档:

Mozilla Array.prototype.sort() 推荐对于不包含无限大或NaN的数组使用以下比较函数。(因为 Infinity - Infinity 是 NaN 而不是 0)。

还有按键值对排序对象的示例。

0