给字符串排序 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' }
]


目录
相关文章
|
JavaScript 前端开发 Java
面试官:你的项目有什么亮点?我:解决了JS脚本加载失败的问题!
面试官:你的项目有什么亮点?我:解决了JS脚本加载失败的问题!
535 0
|
10月前
|
人工智能 自然语言处理 安全
Claude Code 插件登陆 VS Code:开发者迎来 AI 编程新利器
Anthropic正式发布Claude Code——VS Code官方插件,支持多语言智能补全、代码解释、错误诊断与安全重构。隐私优先、长上下文(200K tokens)处理能力强,显著优于Copilot的可解释性与代码质量,已获开发者广泛好评。(239字)
9516 5
|
弹性计算 关系型数据库 API
自建Dify平台与PAI EAS LLM大模型
本文介绍了如何使用阿里云计算巢(ECS)一键部署Dify,并在PAI EAS上搭建LLM、Embedding及重排序模型,实现知识库支持的RAG应用。内容涵盖Dify初始化、PAI模型部署、API配置及RAG知识检索设置。
自建Dify平台与PAI EAS LLM大模型
|
人工智能 API 开发工具
DIFY的安装以及API配置教程
本指南详解DIFY本地部署全流程:先安装Docker与Git,再克隆GitHub官方仓库(langgenius/dify);接着通过终端完成配置文件复制与初始化(访问http://localhost/install);最后集成CanopyWave插件,配置专属API密钥及模型地址,即可启用企业级AI应用。
5868 3
|
Web App开发 人工智能 安全
指南:Google Gemini 2.0 Pro国内版 (Gemini 2.0国内使用指南)
据称,谷歌 AI 推出的 Gemini Pro 国内版,是一款性能卓越的大型语言模型,其能力和表现均超越了广受欢迎的 ChatGPT。作为 Fostmar 的重大升级,它将为用户带来前所未有的 AI 交互体验
3585 0
|
安全 项目管理 数据库
"揭开Dify社区版神秘面纱:一键部署,体验开源项目管理的革命性突破!"
【8月更文挑战第20天】Dify社区版是一款开源项目管理工具,集成任务跟踪、文档协作等功能,助力团队高效协作。本文引导快速部署体验。需Linux服务器,安装Docker及Docker Compose,并能访问GitHub。从GitHub克隆源码,配置`docker-compose.yml`如数据库设置,运行`docker-compose up -d`启动服务。通过`http://&lt;服务器IP&gt;`访问Web界面,建议配置HTTPS增强安全。定期`git pull`及`docker-compose`命令实现维护升级。Dify以其实用性和灵活性,正成为项目管理领域的新兴力量。
2979 1
|
JavaScript 前端开发 安全
一个贼丝滑的 Vue 2 扩展组件,开源且免费
一个贼丝滑的 Vue 2 扩展组件,开源且免费
|
传感器 物联网 开发者
5_2_1_光照信息屏_ 实验技术点及应用场景介绍|学习笔记
快速学习5_2_1_光照信息屏_实验技术点及应用场景介绍。
481 0
5_2_1_光照信息屏_ 实验技术点及应用场景介绍|学习笔记
|
云安全 SQL 弹性计算
阿里云云盾WAF产品使用体验
针对云盾WAF和主流的Imperva,应用后他们之间的功能特点和不足分享。
2438 0
 阿里云云盾WAF产品使用体验