javascript - React Native localeCompare fungerar inte på Android
Jag försöker sortera min array alfabetiskt.
myArray.sort(function(a, b){
return a.title.localeCompare(b.title ,'tr');
})
myArray innehåller turkiska tecken som 'ç, ş, ü, ö, ı'. Min kod fungerar korrekt på iOS men den fungerar inte som jag vill på Android. Den sorteras alfabetiskt men ord som börjar med turkiska tecken hamnar längst ner i listan.
Svar #1
I nyare versioner av React Native kan du aktivera Intl-stöd i din Android-app genom att ändra värdet på jscFlavor i app/build.gradle till org.webkit:android-jsc-intl:+
Platsen för att ändra värdet i gradle-filen
Svar #2
Jag har samma problem med senaste RN 0.61.5 på Android.
Jag slutade med att använda lodash deburr för att ta bort accenter från mina strängar och jag kallar sedan String.localCompare på de deburrade strängarna. Det verkar fungera hittills...