javascript - React Native localeCompare no funciona en Android
Estoy tratando de ordenar mi arreglo alfabéticamente.
myArray.sort(function(a, b){
return a.title.localeCompare(b.title ,'tr');
})
myArray incluye caracteres turcos como 'ç,ş,ü,ö,ı'. Mi código funciona correctamente en iOS pero no funciona como quiero en Android. Se ordena alfabéticamente, pero las palabras que comienzan con caracteres turcos se encuentran al final de la lista.
Respuesta #1
En las versiones recientes de React Native, puedes habilitar el soporte de Intl en tu aplicación de Android cambiando el valor de jscFlavor en app/build.gradle a org.webkit:android-jsc-intl:+
La ubicación para cambiar el valor en el archivo gradle
Respuesta #2
Estoy teniendo el mismo problema con la última versión de RN 0.61.5 en Android.
Terminé usando lodash deburr para eliminar los caracteres acentuados de mis cadenas y luego llamo a String.localCompare en las cadenas desacentuadas. Parece que hasta ahora hace el trabajo...