Mình có một vấn đề mong mọi người góp ý giúp mình: Hiện tại mình có một mảng chứa họ tên như sau: var array = [ Lê Quang Ánh, Trần Thị An, Nguyễn Thành Công, Nguyễn Đức, Lê Duy, Nguyễn Thị Dung, Hà Mạnh Hùng, Nguyễn Thị Hoa ]

Vấn đề: Sắp xếp họ tên theo thứ tự bảng chữ cái tiếng việt theo mức độ ưu tiên sau: Tên > Tên Đệm ( 1 hoặc 2 tên đêm) > Họ

Mình có dùng localeCompare để sắp xếp Tên thì có một số từ sắp xếp được một số lại không MÌnh cảm ơn.

10 days ago

Trả lời (3)


Từ nào ko đc. Từ nào ko. Điều tra nguyên nhân xem root cause

9 days ago

ví dụ mình có vài từ : Lê Thị Dung Nguyễn Văn Dũng Nguyễn Văn Dũng Nguyễn Duy

Nếu đúng trật tự thì Nguyễn Duy phải nằm sau chữ Dung. Khi mình chuyển chuỗi đó về mảng để so sánh lastName thì sẽ như sau:

["Lê" , "Thị" , "Dung"] ["Nguyễn " , "Văn" , "Dũng"] ["Nguyễn " , "Duy" , " "]

nên lastName của Nguyễn Duy sẽ hiểu là rỗng và mình gặp vấn đề ở đó

9 days ago

bạn lấy từng phần tử của mảng (là string) sau đó lấy vị trí cuối cùng của kí tự khoảng trống của mỗi phần tử rồi lấy ra tên, lúc này dùng charcode để so sánh thử. Ví dụ với phần tử Lê Quang Ánh, bạn lấy last index của kí tự khoảng trống rồi từ đó lấy ra tên "Ánh" sau đó bạn charcode kí tự đầu của tên (ở đây là kí tự A) so sánh với các kí tự đầu của tên của các phần tử còn lại trong mảng rồi sort lại thử xem sao

9 days ago