给字符串排序 localeCompare 认识一下

简介: localeCompare 用法

localeCompare 用法


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


语法:stringObject.localeCompare(target)


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


返回值

如果 stringObject 小于 target, localeCompare() 返回小于 0 的数。

如果 stringObject 大于 target,localeCompare() 返回大于 0 的数。

如果两个字符串相等,localeCompare() 返回 0。

<> 运算符应用到字符串时,它们只用字符的 Unicode 编码比较字符串,而不考虑当地的排序规则。localeCompare() 方法提供的比较字符串的方法,考虑了默认的本地排序规则。ECMAscript 标准并没有规定如何进行本地特定的比较操作,它只规定该函数采用底层操作系统提供的排序规则。


在日常业务中经常要把一个数组,按值类型为字符串来排序,相同的放一起显示

let a = ['FATP', 'MD', 'FATP', 'STANDARD', 'STANDARD', '3', 'sda', null]
let b = a.sort((val1, val2) => { return String(val1).localeCompare(String(val2)) })
console.log(b)
// [ '3', 'FATP', 'FATP', 'MD', null, 'sda', 'STANDARD', 'STANDARD' ]


当数组元素是一个对象的时候

let c = [
  { name: '太空编程', link: 'http://spacexcode.com' },
  { name: '前端开发笔记', link: 'http://i-fanr.com' },
  { name: '太空编程', link: 'http://doc.i-fanr.com' },
  { name: '前端开发笔记', link: 'http://wiki.i-fanr.com' }
]
let d = c.sort((val1, val2) => { return String(val1.name).localeCompare(String(val2.name)) })
console.log(d)
//////////////
[
  { name: '前端开发笔记', link: 'http://i-fanr.com' },
  { name: '前端开发笔记', link: 'http://wiki.i-fanr.com' },
  { name: '太空编程', link: 'http://spacexcode.com' },
  { name: '太空编程', link: 'http://doc.i-fanr.com' }
]


目录
相关文章
|
Web App开发 网络协议 关系型数据库
深度解析TCP协议:特点、应用场景及市面上常见软件案例
深度解析TCP协议:特点、应用场景及市面上常见软件案例
2140 1
深度解析TCP协议:特点、应用场景及市面上常见软件案例
|
JavaScript 前端开发 Java
面试官:你的项目有什么亮点?我:解决了JS脚本加载失败的问题!
面试官:你的项目有什么亮点?我:解决了JS脚本加载失败的问题!
418 0
|
JavaScript 前端开发
uniapp获取时间年月日
uniapp获取时间年月日
624 0
|
2月前
|
人工智能 数据挖掘 测试技术
Claude Skill完全指南:从创建到发布,让AI学会处理复杂任务
本文手把手教你打造Claude Skill:从概念辨析(Skills≠MCP,而是“操作手册”)到实战创建(命名规范、SKILL.md编写、渐进式披露)、调试发布与团队协作。覆盖踩坑经验、高效技巧(如工作流反推建Skill)及5个开箱即用场景,助你告别重复提示,实现AI输出标准化。
|
人工智能 API 开发工具
DIFY的安装以及API配置教程
本指南详解DIFY本地部署全流程:先安装Docker与Git,再克隆GitHub官方仓库(langgenius/dify);接着通过终端完成配置文件复制与初始化(访问http://localhost/install);最后集成CanopyWave插件,配置专属API密钥及模型地址,即可启用企业级AI应用。
4048 3
|
10月前
|
弹性计算 关系型数据库 API
自建Dify平台与PAI EAS LLM大模型
本文介绍了如何使用阿里云计算巢(ECS)一键部署Dify,并在PAI EAS上搭建LLM、Embedding及重排序模型,实现知识库支持的RAG应用。内容涵盖Dify初始化、PAI模型部署、API配置及RAG知识检索设置。
自建Dify平台与PAI EAS LLM大模型
|
7月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1212 2
|
Linux
linux中查看某个文件夹下文件的个数和大小
这篇文章介绍了在Linux系统中使用各种命令(如`stat`、`wc`、`du`和`ls`)来查看文件夹下文件的个数和大小的方法。
3880 5
linux中查看某个文件夹下文件的个数和大小
在使用`for...of`循环时,如何跳出循环?
在使用`for...of`循环时,如何跳出循环?
652 58