js汉字拼音排序效果源码实例(js 汉字排序)

本文目录一览:

js实现汉字转拼音功能

在做酒店项目时选择城市页面需要按照首字母分类并排序,用到了汉字转拼音的功能,最终使用了下面这种方法,在此记录一下。

js中如何实现输入汉字的拼音声母出现对应的汉字?

和google的输入提示一个道理,几乎所有Ajax入门书都讲这个。

简单的说,输入框的onchange事件的响应函数里面增加一个xmlhttp请求,

服务器响应请求返回提示更新页面。

但是细节上考虑要多复杂有多复杂,

首先就是拼音到汉字,你需要找输入法的源代码,

然后就是缓存,数据库,安全性等等……

方案二:纯js

用js写一个输入法……

大致思路是页面用按音序排列的编码,如GB2312,然后以音序映射到字符编码上

javascript怎样中文名字按拼音字母排序?

resultValue=[ ‘武汉’ , ‘北京’ , ‘上海’ , ‘天津’ ] ;

resultValue= resultValue.sort(

function compareFunction(param1,param2){

return param1.localeCompare(param2);

}

);

resultValue结果为:

[ ‘北京’ , ‘上海’ , ‘天津’ ,’武汉’ ] ;

javascript中文按照拼音首字母排序,如何实现?

中文拼音排序一直都是很有趣的一个问题。推荐使用这个函数 String.prototype.localeCompare(),链接 MDN。首先用 localeCompare 试下拼音排序

var array = [‘武汉’, ‘北京’, ‘上海’, ‘天津’];

array.sort(

function compareFunction(param1, param2) {

return param1.localeCompare(param2);

}

);

array // [“北京”, “上海”, “天津”, “武汉”]

然后根据 26 个英文字母分组排序,函数如下,

function pySegSort(arr) {

if(!String.prototype.localeCompare)

return null;

var letters = “*abcdefghjklmnopqrstwxyz”.split(”);

var zh = “阿八嚓哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀”.split(”);

var segs = [];

var curr;

letters.forEach(function(item,i){

curr = {letter: item, data:[]};

arr.forEach(function(item2){

if((!zh[i-1] || zh[i-1].localeCompare(item2) = 0) item2.localeCompare(zh[i]) == -1) {

curr.data.push(item2);

}

});

if(curr.data.length) {

segs.push(curr);

curr.data.sort(function(a,b){

return a.localeCompare(b);

});

}

});

return segs;

}

测试:

pySegSort([“我”,”不”,”懂”,”爱”,”啊”,”按”,”已”,”呀”,”选”,”县”])

结果:

[{“letter”:”a”,”data”:[“啊”,”爱”,”按”]},{“letter”:”b”,”data”:[“不”]},{“letter”:”d”,”data”:[“懂”]},{“letter”:”w”,”data”:[“我”]},{“letter”:”x”,”data”:[“县”,”选”]},{“letter”:”y”,”data”:[“呀”,”已”]}]

var arr = [“张三”,”李四”,”王五”,”阿三”]; 

document.write(arr+””);

arr.sort(function(a,b){

return a.localeCompare(b);

});

document.write(arr);

定义和用法:

用本地特定的顺序来比较两个字符串。

语法:

stringObject.localeCompare(target)

参数描述:

target    要以本地特定的顺序与 stringObject 进行比较的字符串。  

返回值:

说明比较结果的数字。如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。

说明:

把 和 运算符应用到字符串时,它们只用字符的 Unicode 编码比较字符串,而不考虑当地的排序规则。以这种方法生成的顺序不一定是正确的。例如,在西班牙语中,其中字符 “ch” 通常作为出现在字母 “c” 和 “d” 之间的字符来排序。

localeCompare() 方法提供的比较字符串的方法,考虑了默认的本地排序规则。ECMAscript 标准并没有规定如何进行本地特定的比较操作,它只规定该函数采用底层操作系统提供的排序规则。

参考资料

百度知道.百度知道[引用时间2018-1-5]

jquery或javascipte实现标签内文字按拼音首字母排序

jq:

var wrap = $(‘div’);

var html = 

        wrap.find(‘a’)

        .map(function(){//获取文字

          return $.trim($(this).text())

        })

        .toArray()//转换jq为数组

        .sort(function(a , b){

          return a.localeCompare(b)//按照顺序排序

        })

        .map(function(txt){//拼接html

          return ‘a’ + txt + ‘/a’;

        })

        .join(”);

wrap.html(html);//输出

js:

function toArray(nodes){

  return [].slice.call(nodes , 0);

}

var wrap = document.querySelector(‘div’);

var links = wrap.querySelectorAll(‘a’);

var html = 

    toArray(links)

    .map(function(el , i){//读取文字

       return (el.innerText || el.textContent).trim();

    })

    .sort(function(a , b){

       return a.localeCompare(b)//按照顺序排序

    })

    .map(function(txt){//组合html

       return ‘a’ + txt + ‘/a’;

    })

    .join(”);

wrap.innerHtml = html;//输出

JavaScript中 人名按照拼音排序,可以用localeCompare函数,但是要考虑多音字,怎么处理多音字的问题?

首先获取到人名之后将人名转换为字符串,

获取字符串的下标,比较完首字母之后对比第二个,

第三个

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/303034.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-31 11:49
下一篇 2024-12-31 11:49

相关推荐

  • Python生成随机数的应用和实例

    本文将向您介绍如何使用Python生成50个60到100之间的随机数,并将列举使用随机数的几个实际应用场景。 一、生成随机数的代码示例 import random # 生成50个6…

    编程 2025-04-29
  • 云智直聘 源码分析

    本文将会对云智直聘的源码进行分析,包括前端页面和后端代码,帮助读者了解其架构、技术实现以及对一些常见的问题进行解决。通过本文的阅读,读者将会了解到云智直聘的特点、优势以及不足之处,…

    编程 2025-04-29
  • 进击的汉字拆字窗

    进击的汉字拆字窗是一款非常有用的中文工具,它可以帮助人们更好的学习汉字,了解汉字的含义,以及更好的了解汉字在中文中的运用和意义。 一、功能介绍 进击的汉字拆字窗主要有以下几个功能:…

    编程 2025-04-29
  • 如何在Python中输出汉字和数字

    本文将从多个方面详细介绍如何在Python中输出汉字和数字,并提供代码示例。 一、输出汉字 要在Python中输出汉字,需要先确保Python默认编码是utf-8,这可以通过在代码…

    编程 2025-04-28
  • Python网站源码解析

    本文将从多个方面对Python网站源码进行详细解析,包括搭建网站、数据处理、安全性等内容。 一、搭建网站 Python是一种高级编程语言,适用于多种领域。它也可以用于搭建网站。最常…

    编程 2025-04-28
  • 如何在dolphinscheduler中运行chunjun任务实例

    本文将从多个方面对dolphinscheduler运行chunjun任务实例进行详细的阐述,包括准备工作、chunjun任务配置、运行结果等方面。 一、准备工作 在运行chunju…

    编程 2025-04-28
  • 源码是什么

    源码是一段计算机程序的原始代码,它是程序员所编写的可读性高、理解性强的文本。在计算机中,源码是指编写的程序代码,这些代码按照一定规则排列,被计算机识别并执行。 一、源码的组成 源码…

    编程 2025-04-27
  • Go源码阅读

    Go语言是Google推出的一门静态类型、编译型、并发型、语法简单的编程语言。它因具有简洁高效,内置GC等优秀特性,被越来越多的开发者所钟爱。在这篇文章中,我们将介绍如何从多个方面…

    编程 2025-04-27
  • Python中Turtle怎么写汉字

    Python中Turtle库是一个在Python中用于绘制矢量图形的库。大多数场景下我们使用Turtle库绘制的图形是几何图形,但是在一些特殊的场景下,我们也可以使用Turtle库…

    编程 2025-04-27
  • Python存为JSON的方法及实例

    本文将从以下多个方面对Python存为JSON做详细的阐述。 一、JSON简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅…

    编程 2025-04-27

发表回复

登录后才能评论