
问题讨论详情:https://github.com/facebook/react-native/issues/12597
问题描述:
Js中有一个String的内置函数:String.prototype.localeCompare(),返回一个数字来指示一个参考字符串是否在排序顺序前面或之后或与给定字符串相同。
1 a.nickname.localeCompare(b.nickname, 'zh-Hans-CN', {sensitivity: 'accent'})在react-native环境下,此函数的返回值在IOS上正常,在AndroID的deBUG模式下正常,在AndroID的release模式下有误。问题原因是AndroID的JavaScriptCore引擎的版本导致的问题。
解决方案:
推荐字典:https://github.com/sxei/pinyinjs
用字典先获取汉字首字母,再用localeCompare按照英文首字母排序。
示例用法:
1 require('../API/pinyinjs/dict/pinyin_dict_firstletter')2 require('../API/pinyinjs/pinyinUtil')3 4 ...5 lockData[0].sort((a, b) => {6 return pinyinUtil.getFirstLetter(a.nickname).localeCompare(pinyinUtil.getFirstLetter(b.nickname))7 })8 ...
总结
以上是内存溢出为你收集整理的react-native按照汉字首字母排序全部内容,希望文章能够帮你解决react-native按照汉字首字母排序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)