JavaScript String localeCompare() 方法



JavaScript String localeCompare() 方法用于比较浏览器当前正在使用的当前 locale 中的两个字符串。它返回一个数字,该数字指示此字符串在排序顺序上是位于给定字符串之前、之后还是相同。

以下是描述此方法返回的数字的语句列表 -

  • 正数 (+1) 表示给定字符串出现在 compare 字符串之后。
  • 负数 (-1) 表示给定字符串出现在比较字符串之前。
  • 如果两个字符串彼此等效,则将返回零 (0)。

语法

以下是 JavaScript String localeCompare() 方法的语法 -


 localeCompare(compareString, locales, options)

参数

此方法接受名为 'compareString'、'locales' 和 'options' 的三个参数,如下所述 -

  • compareString − 需要比较字符串。
  • locales (可选) - 当前浏览器的区域设置。
  • options (可选) − 调整输出格式的对象。

返回值

如果两个字符串等效,则此方法返回数字 0,如果给定字符串出现在比较字符串之前,则返回 -1,如果给定字符串出现在比较字符串之后,则返回 +1。

示例 1

如果未指定区域设置或选项,它将根据字符串中字符的 Unicode 值执行基本比较。如果字符串等效,则返回 0;否则,它将返回一个正值或负值,指示其顺序。

在下面的程序中,我们使用 JavaScript localeCompare() 方法将字符串 “qikepucom” 与给定的字符串 “qikepucom” 进行比较。


<html>
<head>
<title>JavaScript String localeCompare() Method</title>
</head>
<body>
<script>
	 	const str = "qikepucom";
	 	const compare_str = "qikepucom";
	 	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: qikepucom
Compare string: qikepucom
The str.localeCompare(compare_str) method returns: 0

示例 2

如果给定的字符串出现在 compare 字符串之后,则 localeCompare() 方法返回 1。

以下是 JavaScript String localeCompare() 方法的另一个示例。在此示例中,我们使用此方法将字符串 “你好” 与使用当前区域设置 “en” 的给定字符串 “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() 方法时,它会使用当前 locale 将 compareString 与给定的字符串进行比较,并且输出格式将根据指定的选项进行调整。


<html>
<head>
<title>JavaScript String localeCompare() Method</title>
</head>
<body>
<script>
	 	const str = "qikepucom";
	 	const compare_str = "QIKEPUCOM";
	 	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: qikepucom
Compare string: QIKEPUCOM
Current locales: zh
Options: base
The str.localeCompare(compare_str) method returns: -1
The str.localeCompare(compare_str, locale, option) method returns: 0