我有浮點數字數組:排序浮點數字陣列
[ 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