JavaScript String localeCompare() 方法
定义和用法
localeCompare()
方法在当前语言环境中比较两个字符串。
localeCompare()
方法返回排序顺序 -1
、1
或 0
(表示之前、之后或相等)。
当前语言环境基于浏览器的语言设置。
实例
例子 1
比较 "ab" 和 "cd":
let text1 = "ab"; let text2 = "cd"; let result = text1.localeCompare(text2);
例子 2
let text1 = "cd"; let text2 = "ab"; let result = text1.localeCompare(text2);
例子 3
let text1 = "ab"; let text2 = "ab"; let result = text1.localeCompare(text2);
例子 4
let text1 = "A"; let text2 = "a"; let result = text1.localeCompare(text2);
语法
string.localeCompare(target)
参数
参数 | 描述 |
---|---|
target | 必需。要比较的字符串。 |
返回值
类型 | 描述 |
---|---|
数字 |
3 个值之一:
|
技术细节
返回值
返回说明比较结果的数字。
如果 string 小于 target,则 localeCompare()
返回小于 0 的数。
如果 string 大于 target,则该方法返回大于 0 的数。
如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。
说明
把 <
和 >
运算符应用到字符串时,它们只用字符的 Unicode 编码比较字符串,而不考虑当地的排序规则。以这种方法生成的顺序不一定是正确的。例如,在西班牙语中,其中字符 “ch” 通常作为出现在字母 “c” 和 “d” 之间的字符来排序。
localeCompare()
方法提供的比较字符串的方法,考虑了默认的本地排序规则。ECMAscript 标准并没有规定如何进行本地特定的比较操作,它只规定该函数采用底层操作系统提供的排序规则。
浏览器支持
localeCompare()
是 ECMAScript1 (ES1) 特性。
所有浏览器都完全支持 ES1 (JavaScript 1997):
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome | IE | Edge | Firefox | Safari | Opera |
支持 | 支持 | 支持 | 支持 | 支持 | 支持 |