Hãy nói rằng tôi có một mảng không được phân loại từ 1 đến 10, như hình dưới đây ...Sắp xếp một mảng của chuỗi bằng Integer họ Values
a = ["3", "5", "8", "4", "1", "2", "9", "10", "7", "6"]
Nếu tôi sử dụng phương pháp sắp xếp trên mảng này, nó sẽ trả này ...
a.sort = ["1", "10", "2", "3", "4", "5", "6", "7", "8", "9"]
Như bạn có thể thấy, số 10, xuất hiện trước 2, không chính xác. Làm thế nào tôi có thể sắp xếp những con số này để 10 xuất hiện chính xác?
EDIT: Xin chào các bạn, cảm ơn tất cả các bạn đã trả lời. Tôi nên giải thích vấn đề của tôi tốt hơn một chút. Mảng tôi cần sắp xếp là dành cho danh sách giá thương mại điện tử. Vì vậy, mảng xuất hiện như sau ...
a = ["0-10", "11-20", "21-30", "31-40" etc.]
Vì vậy, các chuỗi không thể được chuyển đổi thành số nguyên. Tôi nên đặt nó khi tôi viết câu hỏi. Tôi không nghĩ rằng sẽ có nhiều sự khác biệt trong bản sửa lỗi. Sai lầm của tôi, tôi xin lỗi vì đã đưa ra giả định này! Làm thế nào tôi có thể sắp xếp mảng này? Cảm ơn!
Tôi nghĩ rằng câu hỏi này đã được trả lời: http://stackoverflow.com/questions/1955646/sort-strings-and-numbers-in-ruby/1964686#1964686 –
Chỉ cần đăng một câu trả lời cho cập nhật của bạn question – apneadiving
Tôi khuyên bạn nên đăng câu hỏi mới với mô tả cập nhật vì tất cả các câu trả lời đều dựa trên mô tả sai. –