Tôi có một mảng các số điểm float:Sorting mảng các số điểm nổi
[ 82.11742562118049, 28.86823689842918, 49.61295450928224, 5.861613903793295 ]
Sau khi chạy sort() trên mảng tôi có được điều này:
[ 28.86823689842918, 49.61295450928224, 5.861613903793295, 82.11742562118049 ]
Chú ý cách 5.8 ... lớn hơn 49,6 ... cho JavaScript (Nút). Tại sao vậy?
Làm cách nào để sắp xếp chính xác số này?
Sử dụng 'arr.sort (function (a, b) {return a-b;});'. Khi nó đứng, các giá trị đang được sắp xếp theo thứ tự bảng chữ cái. "2" xuất hiện trước "4", xuất hiện trước "5", xuất hiện trước "8" (so sánh là "chữ" đầu tiên của mỗi số ... cho đến khi chúng khớp nhau, sau đó so sánh chữ cái tiếp theo, và trên) – Ian
Để tham khảo: http://www.w3schools.com/jsref/jsref_sort.asp. Theo mặc định, phương thức sắp xếp mảng của javascript sắp xếp theo thứ tự abc và tăng dần. Do đó, tại sao bạn vượt qua trong phương pháp sắp xếp được cung cấp bởi @Ian –
Nói chung, không tham khảo các trường học w3 vì chúng có thể không chính xác cho nhiều thứ. – jtromans