React Native localeCompare在Android上不起作用

时间:2018-11-07 12:30:03

标签: javascript reactjs react-native react-native-android

我正在尝试按字母顺序对数组进行排序。

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

myArray包含土耳其字符,例如“ç,ş,ü,ö,ı”。我的代码可在ios上正常工作,但无法以我想要的方式在android上工作。它按字母顺序排序,但是以土耳其语字符开头的单词在列表的底部。

2 个答案:

答案 0 :(得分:0)

我在Android上的最新RN 0.61.5遇到相同的问题。

我最终使用lodash deburr从字符串中删除重音字符,然后在去毛刺的字符串上调用String.localCompare。到目前为止,似乎已经完成了工作...

答案 1 :(得分:0)

在最新版本的React Native中,您可以通过将jscFlavor中的app/build.gradle的值更改为org.webkit:android-jsc-intl:+来启用Android应用中的Intl支持

The location to change the value in the gradle file