JavaScript 字符串 localeCompare() 方法
JavaScript 字符串 localeCompare() 方法用于比较浏览器当前正在使用的当前语言环境中的两个字符串。它返回一个数字,指示此字符串在排序顺序中位于给定字符串之前、之后还是相同。
以下是描述此方法返回数字的语句列表 -
- 正数(+1)表示给定字符串位于比较字符串之后。
- 负数(-1)表示给定字符串位于比较字符串之前。
- 如果两个字符串彼此相等,则返回零(0)。
语法
以下是 JavaScript 字符串 localeCompare() 方法的语法 -
localeCompare(compareString, locales, (options)
参数
此方法接受三个参数,分别为"compareString"、"locales"和"options",具体说明如下:-
- compareString − 需要比较的字符串。
- locales(可选) − 当前浏览器的语言环境。
- options(可选) − 用于调整输出格式的对象。
返回值
如果两个字符串相等,此方法返回数字 0;如果给定的字符串出现在比较字符串之前,则返回 -1;如果给定的字符串出现在比较字符串之后,则返回 +1。
示例 1
当未指定语言环境或选项时,它将基于 Unicode 值执行基本比较字符串中字符的顺序。如果字符串相等,则返回 0;否则,返回一个正值或负值来指示它们的顺序。
在下面的程序中,我们使用 JavaScript localeCompare() 方法将字符串"Tutorialspoint"与给定的字符串"Tutorialspoint"进行比较。
<html>
<head>
<title>JavaScript String localeCompare() Method</title>
</head>
<body>
<script>
const str = "TutorialsPoint";
const compare_str = "TutorialsPoint";
document.write("Original string: ", str);
document.write("<br>Compare string: ", compare_str);
document.write("<br>The str.localeCompare(compare_str) method returns: ", str.localeCompare(compare_str));
</script>
</body>
</html>
输出
上述程序返回 0。
Original string: TutorialsPoint Compare string: TutorialsPoint The str.localeCompare(compare_str) method returns: 0
示例 2
如果给定字符串出现在比较字符串之后,则 localeCompare() 方法返回 1。
以下是 JavaScript 字符串 localeCompare() 方法的另一个示例。在此示例中,我们使用此方法使用当前语言环境"en"将字符串"hello"与给定字符串"HELLO"进行比较。
<html>
<head>
<title>JavaScript String localeCompare() Method</title>
</head>
<body>
<script>
const str = "HELLO";
const compare_str = "hello";
const locale = "en";
document.write("Original string: ", str)
document.write("<br>Compare string: ", compare_str);
document.write("<br>Current locales: ", locale);
document.write("<br>The str.localeCompare(compare_str) method returns: ", str.localeCompare(compare_str, locale));
</script>
</body>
</html>
输出
执行上述程序后,将返回 1。
Original string: HELLO Compare string: hello Current locales: en The str.localeCompare(compare_str) method returns: 1
示例 3
当我们将 compareString、locales 和 options 三个参数全部传递给 localeCompare() 方法时,它会使用当前语言环境将 compareString 与给定的字符串进行比较,并根据指定的选项调整输出格式。
<html>
<head>
<title>JavaScript String localeCompare() Method</title>
</head>
<body>
<script>
const str = "tutorialspoint";
const compare_str = "TUTORIALSPOINT";
const locale = "en";
const option = {sensitivity: 'base'};
document.write("Original string: ", str)
document.write("<br>Compare string: ", compare_str);
document.write("<br>Current locales: ", locale);
document.write("<br>Options: ", option.sensitivity);
document.write("<br>The str.localeCompare(compare_str) method returns: ", str.localeCompare(compare_str));
document.write("<br>The str.localeCompare(compare_str, locale, option) method returns: ", str.localeCompare(compare_str, locale, option));
</script>
</body>
</html>
输出
上述程序产生以下输出 -
Original string: tutorialspoint Compare string: TUTORIALSPOINT Current locales: en Options: base The str.localeCompare(compare_str) method returns: -1 The str.localeCompare(compare_str, locale, option) method returns: 0

