问题描述:

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引擎的版本导致的问题。

解决方案:

用字典先获取汉字首字母,再用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 ...

标签:pinyinUtil,react,首字母,localeCompare,Android,nickName,native

来源: https://www.cnblogs.com/halao/p/12019075.html

react根据中文获取拼音_react-native按照汉字首字母排序相关推荐

  1. java 中文联系人排序_通讯录之按汉字首字母排序-java

    最近开发手机端OA系统通讯录时遇到了用汉字首字母排序的问题,各种谷歌后发现了一个轮子pinyin4J,这个轮子是可以将汉字转换成字母拼音,个人觉得很好用,完美的解决了排序的问题,分享一下. 一.工具介 ...

  2. react根据中文获取拼音_vue 获取汉字的全拼、简拼、首拼

    1.封装公共方法,获取汉字的全拼.简拼.首拼 export const Pinyin = { _JMcode:{ "-":"", "-":& ...

  3. react根据中文获取拼音_解决 React 中的 input 输入框在中文输入法下的 bug

    以下会涉及到的技术点:react mobx compositionstart compositionupdate compositionend 问题描述 在使用 input 时,通常会对输入的内容做校 ...

  4. php 中文转拼音,可以只转首字母,可以设置utf8、gbk

    <?phpclass Pinyin {/*** 默认是gb编码,第二个参数随意设置即为utf8编 * @param type $isInitial 是否只返回首字母* @return type* ...

  5. php获取中文城市首字母排序,PHP实现获取第一个中文首字母并进行排序的方法

    PHP实现获取第一个中文首字母并进行排序的方法 发布于 2017-08-10 07:47:28 | 108 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hyper ...

  6. php 怎么获取中文首字母排序,利用PHP怎么获取第一个中文首字母并进行排序

    利用PHP怎么获取第一个中文首字母并进行排序 发布时间:2021-02-19 15:36:38 来源:亿速云 阅读:83 作者:Leah 利用PHP怎么获取第一个中文首字母并进行排序?很多新手对此不是 ...

  7. PHP中文获取拼音函数

    <?php //中文获取拼音函数 /* return String $_String 输入的中文字符 $_Code 输出字符编码类型,默认是UTF-8 */ function pinyin($_ ...

  8. npm包-js-pinyin获取中文拼音,实现按26个首字母展示城市

    npm包-js-pinyin获取中文拼音,实现按26个首字母展示城市 npm安装js-pinyin vue实现代码 城市展示效果图 你越是认真生活,你的生活就会越美好--弗兰克·劳埃德·莱特 < ...

  9. 中文按拼音首字母排序的C++实现方案

    先介绍下背景,最近有个需求,需要将用户的好友列表按照昵称的拼音首字母排序,类似于手机电话簿的联系人.一开始建议让终端同学去做这点,毕竟终端现有的电话簿模块已经实现了,不过终端同学说电话簿是系统组件,移 ...

  10. 简单实现通讯录中文名字按拼音首字母排序

    <body> <div class="address"> <div class="address_title">通讯录< ...

最新文章

  1. hdu3368 Reversi
  2. linux网卡设置adsl上网,Linux下设置ADSL自动拨号上网
  3. linux下查看和添加PATH环境变量
  4. 我知道你会用Jupyter Notebook,但这些插件你都会了吗?
  5. AndroidStudio修改默认C盘配置文件夹(.android.gradle.AndroidStudio)以及修改后避免踩的坑
  6. LeetCode 264. 丑数 II
  7. java名 java_Java Syncrhonisers
  8. C++中直接存取类私有成员[360度]
  9. 美国计算机授课型硕士,美国高校一年制硕士项目中,哪些项目最值得推荐?
  10. centos 安装PHP7.0
  11. (83)FPGA时钟抖动和时钟偏斜-面试必问(七)(第17天)
  12. 【Java】Java 反射 object is not an instance of declaring class
  13. java系列8:private修饰的成员变量怎么传参
  14. 《构建之法》前三章读后感
  15. Tensorflow训练神经网络
  16. BLUE引擎或者LEG引擎M2架设时提示【该授权文件已过期】原因和解决方法
  17. html5 canvas实现桌面效果,基于html5 canvas实现漫天飞雪效果实例
  18. 红米note3android驱动,为何我的红米NOTE3 装不了USB驱动
  19. 服务器简介(一):服务器定义、服务器特点、服务器分类、服务器软件
  20. 调用百度翻译机器人接口纯代码

热门文章

  1. java开发app教程,就是这么简单
  2. FME会员期刊(2012冬季版)
  3. graphpad prism怎么添加图例_Graphpad Prism 绘制散点图详细图解
  4. sam文件获取与解密
  5. 年薪30W+,数据库工程师凭什么?
  6. 为什么拉格朗日对偶函数一定是凹函数(逐点下确界)
  7. 统信UOS系统安装mysql_统信UOS系统手动安装分区方案
  8. html怎么把图做成3d效果,ps怎么制作立体效果 ps做图怎么做出立体的效果
  9. 前端面试题(css)
  10. 1148:连续出现的字符