我有浮点数字数组:排序浮点数字阵列
[ 82.11742562118049, 28.86823689842918, 49.61295450928224, 5.861613903793295 ]
运行的sort()阵列上后,我得到这个:
[ 28.86823689842918, 49.61295450928224, 5.861613903793295, 82.11742562118049 ]
注意如何... 5.8对于JavaScript(节点),大于49.6 ...。这是为什么?
我该如何正确排序这些数字?
使用'arr.sort(function(a,b){return a-b;});'。按照现状,这些值将按字母顺序排序。 “2”位于“4”之前,位于“8”之前的“5”之前(比较是每个数字的第一个“字母”......直到它们匹配,然后比较下一个字母,所以上) – Ian
供参考:http://www.w3schools.com/jsref/jsref_sort.asp。默认情况下,javascript的数组排序方法按字母顺序排序并升序排列。因此,为什么你通过@Ian提供的排序方法 –
一般来说,不要参考W3学校,因为他们可能是不正确的广泛的事情。 – jtromans