我有一个浮点数数组:
[ 82.11742562118049, 28.86823689842918, 49.61295450928224, 5.861613903793295 ]
在数组上运行sort()后,我得到如下结果:
[ 28.86823689842918, 49.61295450928224, 5.861613903793295, 82.11742562118049 ]
注意5.8是如何...大于49.6...对于JavaScript (节点)。为什么会这样呢?
如何正确地对这些数字进行排序?
发布于 2013-08-29 03:52:23
内置的JS排序函数将所有内容视为字符串。试着制作你自己的:
var numbers = new Array ( 82.11742562118049, 28.86823689842918, 49.61295450928224, 5.861613903793295 );
function sortFloat(a,b) { return a - b; }
numbers.sort(sortFloat);
https://stackoverflow.com/questions/18496898
复制相似问题