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
广告