当前位置: 首页 > news >正文

杭州做网站电话/网站优化团队

杭州做网站电话,网站优化团队,国家家企业信用信息系统,建设网站需要想好的问题今天遇到了一个没有接触过的方法,是localeCompare()。查了一些相关的文档,给出的定义很模糊,所以就把自己的理解写下来。 首先由例子入手! 已知一串学生姓名的字符串,根据学生姓名的长度按照降序排序,并返回…

  今天遇到了一个没有接触过的方法,是localeCompare()。查了一些相关的文档,给出的定义很模糊,所以就把自己的理解写下来。

  首先由例子入手!

  已知一串学生姓名的字符串,根据学生姓名的长度按照降序排序,并返回名称列表。等长度的名称将以相反的字母顺序(Z-> A)返回。

  给出字符串 string = "xxa xxb xxc xxd xa xb xc xd";

  返回 ['xxd', 'xxc', 'xxb', 'xxa', 'xd', 'xc', 'xb', 'xa'];

接下来就是正解代码!

 1 function lineupStudents(students){
 2     var stu=students.split(" ");
 3     stu.sort(function(a,b){
 4         if(a.length==b.length){
 5             return b.localeCompare(a);
 6         }else{
 7             return b.length-a.length;
 8         }
 9     });
10     console.log(stu);
11 }
12 var s1 = 'Tadashi Takahiro Takao Takashi Takayuki Takehiko Takeo Takeshi Takeshi';
13 lineupStudents(s1);//输出['Takehiko','Takayuki','Takahiro','Takeshi','Takeshi','Takashi','Tadashi','Takeo','Takao']

  这个例子中还是利用array对象的排序方法,在排序参数提供的函数中再来进行本地的排序。

  接下来看看Sort() 官方说法:

 

arrayobj.sort(sortfunction)

 

  参数

 

arrayObj

 

必选项。任意 Array 对象。

 

sortFunction

 

可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。

 

  说明

 

sort 方法将 Array 对象进行适当的排序;在执行过程中并不会创建新的 Array 对象。

 

如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一:

 

  • 负值,如果所传递的第一个参数比第二个参数小。
  • 零,如果两个参数相等。
  • 正值,如果第一个参数比第二个参数大。

 

再来看看localeCompare()是怎么说的!

 

  定义和用法

 

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

 

  语法

 

stringObject.localeCompare(target)

 

参数

描述

target

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

 

返回值

 

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

 

综上两个方法的说明,在sortfunction参数存在的情况下都会有数字结果返回值。而在例子中最关键的步骤就是b.localeCompare(a),按着特定的顺序比较两个字符串;

 

另外再补充一点,stringObj.localeCompare(target)中谁比较谁,决定了列表的升序还是降序。例如:

 

1 if(a.length==b.length){
2     return a.localeCompare(b);
3 }else{
4     return a.length-b.length;
5 }

 

结果显示就是升序排列!

针对于localeCompare()(比较两个字符串,考虑了默认的本地排序规则),使用的本地规则有汉字和英语的,例子中用的是英语,则是根据字母排序的。如果有用到汉字则是根据汉字拼音来排序。

 

 

 

 

转载于:https://www.cnblogs.com/anniey/p/6184301.html

http://www.lbrq.cn/news/957781.html

相关文章:

  • 滁州项目建设公示在哪个网站/哈尔滨seo关键词优化
  • 视频网站VIP卡怎么做赠品/点击器免费版
  • 手机制作网站软件/宁波网站推广怎么做
  • 新乡新手学做网站/网络营销技巧培训
  • 山东法院网站哪个公司做的/流量网站
  • 建设网站价钱/sem优化公司
  • 做电影网站涉及的侵权问题/中文搜索引擎
  • 安徽建设网站公司/seo免费推广软件
  • 网站开发留学/快速提升网站排名
  • 网站维护技术/外链发布平台
  • 苹果软件做ppt下载网站有哪些/网络推广平台代理
  • 十堰秦楚网 十堰新闻门户网站/账户竞价托管哪里好
  • 大庆油田app下载安装官方版/seo发包排名软件
  • 网站源码上传/惠州自动seo
  • 外贸网站代运营/搜索优化网络推广
  • 学校网站制作模板/西安网站制作价格
  • app网站怎么下载/博客推广的方法与技巧
  • 宜昌教育培训网站建设/优化设计单元测试卷
  • 长沙做网站开发价格/成都百度推广联系方式
  • 导购网站自己做电商/网站模板平台资源
  • ghostwin8网站奖别人做/长春头条新闻今天
  • 做户外运动的网站/青岛seo招聘
  • 网站建设需要什么基础/软文广告经典案例200字
  • 美工免费素材网站/seo是什么意思为什么要做seo
  • 网站建设介绍怎么写/可以看任何网站的浏览器
  • wordpress 导出菜单/宁波网站推广优化公司电话
  • 腾讯文件怎么转换wordpress/兰州搜索引擎优化
  • 怎么查询网站是否收录/seo公司上海牛巨微
  • 如何做电商网站测试/网站百度推广
  • 长沙做网站seo/产品推广策略
  • OpenCV 官翻 3 - 特征检测 Feature Detection
  • [论文阅读] 人工智能 + 软件工程 | 强化学习在软件工程中的全景扫描:从应用到未来
  • 如何为“地方升学导向型”语校建模?Prompt 框架下的宇都宫日建工科专门学校解析(7 / 500)
  • RPG60.生成可拾取物品
  • Zabbix安装-Server
  • Android studio和gradle升级后的一些错误