Tìm kiếm trang web

javascript - React Native localeCompare không hoạt động trên Android


Tôi đang cố sắp xếp mảng của mình theo thứ tự chữ cái.

myArray.sort(function(a, b){
    return a.title.localeCompare(b.title ,'tr');
  })

Mảng của tôi bao gồm các ký tự tiếng Thổ Nhĩ Kỳ như 'ç,ş,ü,ö,ı'. Mã của tôi hoạt động chính xác trên iOS nhưng lại không hoạt động như tôi muốn trên Android. Nó sắp xếp theo thứ tự bảng chữ cái, nhưng các từ bắt đầu bằng ký tự tiếng Thổ Nhĩ Kỳ lại ở cuối danh sách.

Câu trả lời #1

Trong các phiên bản gần đây của React Native, bạn có thể bật hỗ trợ Intl trong ứng dụng Android của mình bằng cách thay đổi giá trị của jscFlavor trong app/build.gradle thành org.webkit:android-jsc-intl:+

Vị trí để thay đổi giá trị trong tệp gradle

Câu trả lời số 2

Tôi cũng đang gặp vấn đề giống nhau với RN 0.61.5 mới nhất trên Android.

Cuối cùng tôi đã sử dụng lodash deburr để loại bỏ các ký tự có dấu khỏi các chuỗi của mình và sau đó tôi gọi String.localCompare trên các chuỗi đã được bỏ dấu. Dường như cho đến nay nó hoạt động tốt...