码迷,mamicode.com
首页 > 编程语言 > 详细

react-native按照汉字首字母排序

时间:2019-12-10 20:55:24      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:fir   local   ext   解决   有一个   ima   git   cts   详情   

问题讨论详情: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上正常,在Androiddebug模式下正常,在Androidrelease模式下有误。问题原因是AndroidJavaScriptCore引擎的版本导致的问题。

 

解决方案:

推荐字典: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按照汉字首字母排序

标签:fir   local   ext   解决   有一个   ima   git   cts   详情   

原文地址:https://www.cnblogs.com/halao/p/12019075.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!