arr1.sort(function(a, b) {
return (b.name + '').localeCompare(a.name + '')
console.log(arr1)
控制台排序结果:
英文的排序还是很简单的,弄清楚localeCompare()和sort()的用法即可。
下期文章将继续介绍根据中文首字母排序,分别提供localCompare和外部pinyin函数的引入两种方法,从两种情况入手——直接按照顺序排列、根据首字母排序分组。
感兴趣的小伙伴可以订阅本专栏,方便后续了解学习~
觉得这篇文章有用的小伙伴们可以点赞➕收藏➕关注哦~
数据排序这块应该是每个程序员都会遇到的,而这篇文章主要是介绍js中sort排序如何使用得当,既然有现成的封装的方法就用现成的,自己稍加修改就能完成,不需要再重新自己重头到尾写个函数,当然如果大家有这个兴趣也可以自己写啦。
1.字母排序
sort默认的排序方式为字母排序,根据二十六个字母依次排列,单词之间比较,则先比较第一个字母,如果第一个...
js提供了字符串的对比方法localeCompare(),该方法返回的是一个数字用来表示一个参考字符串和对比字符串是排序在前,在后或者相同。该方法基本不单独使用,大部分时间是配合字符串排序使用的。
一、语法:
string.localeCompare(targetString,locales,options);
targetString:对比字符串
locales:看MDN上的解释是用来表示一种或多种语言或区域的一个符合BCP 47标准的字符串或一个字符串数组,我个人的理解是
上面我们写了一个最简单的sort,它的返回结果是['2','3','10']。
上面的排序规则是先将字符串转成数字,然后按照数字大小排序的,因为字符串在遇到减号的时候,先转成Number,再进行计算。
除了上面这种排序,还有一种排序规则:
['2'...
先获取汉字拼音,可以参照https://github.com/xinglie/pinyin,其中重点看下index.js文件,
将index的内容复制到你的项目中的spell.js文件中,并引入import Pinyin from ‘…/…/utils/spell’,
然后写一个用于数组排序的方法,如下
export const spellSort = (list)=>{
let pinyinArray = []
let reg = /^[A-Za-z]*$/;
list.map((v)=
第一种方法:
obj.sort((a,b)=>{a.pinyin.charCodeAt(0)-b.pinyin.charCodeAt(0)})
第二种方法: sort((a,b)=>a.pinyin.localeCompare(b.pinyin))
转载于:https://www.cnblogs.com/dongyuezhuang/p/11544622.html...