js localeCompare() 方法实现字符串数组排序

localeCompare()方法返回一个数字来指示一个参考字符串是否在排序顺序前面或之后或与给定字符串相同。

语法:str.localeCompare(compareStr)

当 引用字符串 在 比较字符串 前面时返回 -1
当 引用字符串 在 比较字符串 后面时返回 1
相同位置时返回 0

'a'.localeCompare('b')  // 返回-1
'b'.localeCompare('a')  // 返回 1
'a'.localeCompare('a')  // 返回 0

应用

  1. 可以结合sort()对字符串数组进行排序
    排序前:['pear','apple','peach','banana']
    要实现的排序效果:['apple','banana','peach','pear']
var fruits = ['pear','apple','peach','banana']
var afterFruits = fruits.sort((a,b) => a.localeCompare(b))
console.log(afterFruits) // ["apple","banana","peach","pear"]

中文同样可以通过该方法去实现:

var names = ['方回','陈一','李四','陈波','张三','陈啊']
var afterNames = names.sort((a,b) => a.localeCompare(b))
console.log(afterNames) // ["陈啊", "陈波", "陈一", "方回", "李四", "张三"]

你可能感兴趣的:(JavaScript,前端,javascript,js,localeCompare)