Tôi đang cố gắng so sánh 2 chuỗi theo thứ tự bảng chữ cái cho mục đích sắp xếp. Ví dụ tôi muốn có một kiểm tra boolean như if('aaaa' < 'ab')
. Tôi đã thử nó, nhưng nó không cho tôi kết quả chính xác, vì vậy tôi đoán đó không phải là cú pháp đúng. Làm thế nào để làm điều này trong jquery hoặc Javascript?so sánh 2 chuỗi theo thứ tự bảng chữ cái cho các mục đích phân loại
Trả lời
Cho phép xem xét một số trường hợp thử nghiệm - thử chạy các mô tả sau trong giao diện điều khiển JS của bạn:
"a" < "b"
"aa" < "ab"
"aaa" < "aab"
Tất cả trở thành sự thật.
JavaScript so sánh chuỗi ký tự theo ký tự và "a" xuất hiện trước "b" trong bảng chữ cái - do đó nhỏ hơn.
Trong trường hợp của bạn nó hoạt động như vậy -
1. "một aaa" < "một b"
so sánh hai "a" ký tự đầu tiên - tất cả như nhau, cho phép di chuyển đến ký tự tiếp theo.
2. "Một một aa" < "một b"
so sánh nhân vật thứ hai "a" chống lại "b" - Whoop! "a" xuất hiện trước "b". Trả về true.
Chỉ cần nhớ rằng chuỗi so sánh như "x"> "X" là trường hợp nhạy cảm
"aa" < "ab" //true
"aa" < "Ab" //false
Bạn nói rằng việc so sánh là để phân loại các mục đích. Sau đó, tôi đề nghị thay vì:
"a".localeCompare("b");
Nó trả -1
từ "a" < "b"
, 1
hoặc 0
khác, như bạn cần cho Array.prototype.sort()
Hãy ghi nhớ rằng sắp xếp phụ thuộc miền địa phương. Ví dụ. bằng tiếng Đức, ä
là một biến thể của a
, vì vậy "ä".localeCompare("b", "de-DE")
trả lại -1
. Bằng tiếng Thụy Điển, ä
là một trong các chữ cái cuối cùng trong bảng chữ cái, vì vậy "ä".localeCompare("b", "se-SE")
trả về 1
.
Nếu không có tham số thứ hai là localeCompare
, ngôn ngữ của trình duyệt sẽ được sử dụng. Mà trong kinh nghiệm của tôi là không bao giờ những gì tôi muốn, bởi vì sau đó nó sẽ sắp xếp khác với máy chủ, trong đó có một miền địa phương cố định cho tất cả người dùng.
+1 cũng đáng nói rằng điều này là tốt cho các trường hợp quá ('" aa ".localeCompare (" ab ")' == "aa" .localeCompare ("Ab") cho bất kỳ miền địa phương tôi có thể nghĩ đến) và làm việc ngay cả trong các phiên bản cũ của IE. Nên là câu trả lời được chấp nhận! – user568458
+1 cho Peter; Điều này tương thích hơn với cách sắp xếp mảng Javascript hoạt động như thế nào, vì vậy nó hữu ích hơn, và tôi nghĩ nó còn nhiều hơn những gì OP yêu cầu. – Grandclosing
"a".localeCompare("b")
nên thực sự trở lại -1
từ a
loại trước b
Nếu bạn có ý nghĩa như một bình luận cho câu trả lời của tôi, bạn nói đúng. Câu trả lời của tôi được sử dụng để hiển thị không chính xác kết quả là 1, vì vậy tôi đã sửa lỗi đó. –
- 1. Bảng Lua Phân loại 2 so sánh
- 2. Cách so sánh 2 chuỗi theo thứ tự abc
- 3. Sắp xếp chuỗi Android.xml theo thứ tự bảng chữ cái
- 4. nếu chuỗi lớn hơn theo thứ tự bảng chữ cái so với chuỗi khác trong mục tiêu
- 5. So sánh chuỗi và thứ tự chữ cái của các nhân vật riêng lẻ
- 6. Sắp xếp JSON theo thứ tự bảng chữ cái
- 7. cách File.listFiles theo thứ tự bảng chữ cái?
- 8. Thuật toán để tạo chuỗi chữ cái Theo thứ tự bảng chữ cái giữa hai chuỗi khác?
- 9. Wordpress: previous_post_link/next_post_link theo thứ tự bảng chữ cái?
- 10. Liệt kê một mảng các chuỗi theo thứ tự bảng chữ cái
- 11. Sắp xếp các ký tự đặc biệt SQLite theo thứ tự bảng chữ cái
- 12. Làm cách nào để sắp xếp các ký tự của chuỗi theo thứ tự bảng chữ cái?
- 13. Sắp xếp băm theo mảng theo thứ tự bảng chữ cái theo một trường
- 14. Làm cách nào để sắp xếp một chuỗi các chuỗi theo thứ tự bảng chữ cái khi các chuỗi chứa åäö?
- 15. mysql lấy tên cột bảng theo thứ tự bảng chữ cái
- 16. Android so sánh các chữ cái đặc biệt
- 17. Sắp xếp mảng theo giá trị theo thứ tự bảng chữ cái php
- 18. Đường ray - Phân trang theo thứ tự chữ cái/Điều hướng
- 19. Eclipse sắp xếp các phương thức theo thứ tự bảng chữ cái
- 20. Đặt hàng HashMap theo thứ tự bảng chữ cái theo giá trị
- 21. Làm cách nào để sắp xếp các chuỗi trong NSMutableArray thành thứ tự bảng chữ cái?
- 22. Cách lấy chữ cái thứ n của bảng chữ cái
- 23. PHP: Cách sắp xếp giá trị của một mảng theo thứ tự bảng chữ cái?
- 24. Danh sách sắp xếp cấu trúc dữ liệu Python theo thứ tự bảng chữ cái
- 25. Không phân loại chữ cái trong Delphi
- 26. Bỏ qua các chữ cái có dấu trong so sánh chuỗi
- 27. Sắp xếp danh sách theo thứ tự bảng chữ cái với mô-đun
- 28. Intellij-IDEA: Cách sắp xếp thành viên theo thứ tự bảng chữ cái?
- 29. Sắp xếp một mảng theo thứ tự bảng chữ cái trong C#
- 30. Thuật toán để so sánh các từ (không theo thứ tự abc)
Bạn đã thấy http://stackoverflow.com/questions/1134976/how-may-i-sort-a-list-alphabetically -using-jquery? – j08691
Đó là cách bạn làm điều đó. Bạn mong đợi kết quả gì? Biểu thức ''aaaa' <'ab'' trả về' true'. – Guffa