首页 > JavaScript
JS字符串比较大小
JavaScript 能够根据字符的 Unicode 编码大小逐位比较字符串大小。
例如,小写字母 a 的编码为 97,大写字母 A 的编码为 65,则字符“a”就大于“A”。
再如,“中国人”的 Unicode 编码是 \u4e2d\u56fd\u4eba,“编程语言”的编码是 \u7f16\u7a0b\u8bed\u8a00,因为 \u4e2d 小于 \u7f16,所以“中国人”就小于“编程语言”。
localeCompare() 方法包含一个参数,指定要比较的目标字符串。如果当前字符串小于参数字符串,则返回小于 0 的数;如果大于参数字符串,则返回大于 0 的数;如果两个字符串相等,或与本地排序约定没有区别,则该方法返回 0。
【实例】下面代码把字符串“JavaScript”转换为数组,然后按本地字符顺序进行排序。
直接比较字符串大小
在 JavaScript 中,可以直接使用 >、<、==、=== 来比较两个字符串的大小,就像比较两个数字一样。例如,小写字母 a 的编码为 97,大写字母 A 的编码为 65,则字符“a”就大于“A”。
console.log("a" > "A"); //返回true
再如,“中国人”的 Unicode 编码是 \u4e2d\u56fd\u4eba,“编程语言”的编码是 \u7f16\u7a0b\u8bed\u8a00,因为 \u4e2d 小于 \u7f16,所以“中国人”就小于“编程语言”。
console.log("中国人"<"编程语言"); //返回true
使用 localeCompare() 方法
使用字符串的 localeCompare() 方法,可以根据本地约定顺序来比较两个字符串的大小。ECMAScript 标准没有规定如何进行本地化比较操作。localeCompare() 方法包含一个参数,指定要比较的目标字符串。如果当前字符串小于参数字符串,则返回小于 0 的数;如果大于参数字符串,则返回大于 0 的数;如果两个字符串相等,或与本地排序约定没有区别,则该方法返回 0。
【实例】下面代码把字符串“JavaScript”转换为数组,然后按本地字符顺序进行排序。
var s = "JavaScript"; //定义字符串直接量 var a = s.split(""); //把字符串转换为数组 var s1 = a.sort(function (a, b)) { //对数组进行排序 return a.localeCompare(b); //将根据前后字符在本地的约定进行排序 }); a = s1.join(""); //然后再把数组还原为字符串 console.log(a); //返回字符串“aaciJprStv”
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算