JavaScript String localeCompare() 方法用于比较浏览器当前正在使用的当前 locale 中的两个字符串。它返回一个数字,该数字指示此字符串在排序顺序上是位于给定字符串之前、之后还是相同。
以下是描述此方法返回的数字的语句列表 -
- 正数 (+1) 表示给定字符串出现在 compare 字符串之后。
- 负数 (-1) 表示给定字符串出现在比较字符串之前。
- 如果两个字符串彼此等效,则将返回零 (0)。
语法
以下是 JavaScript String localeCompare() 方法的语法 -
参数
此方法接受名为 'compareString'、'locales' 和 'options' 的三个参数,如下所述 -
- compareString − 需要比较字符串。
- locales (可选) - 当前浏览器的区域设置。
- options (可选) − 调整输出格式的对象。
返回值
如果两个字符串等效,则此方法返回数字 0,如果给定字符串出现在比较字符串之前,则返回 -1,如果给定字符串出现在比较字符串之后,则返回 +1。
示例 1
如果未指定区域设置或选项,它将根据字符串中字符的 Unicode 值执行基本比较。如果字符串等效,则返回 0;否则,它将返回一个正值或负值,指示其顺序。
在下面的程序中,我们使用 JavaScript localeCompare() 方法将字符串 “qikepucom” 与给定的字符串 “qikepucom” 进行比较。
输出
上述程序返回 0。
Compare string: qikepucom
The str.localeCompare(compare_str) method returns: 0
示例 2
如果给定的字符串出现在 compare 字符串之后,则 localeCompare() 方法返回 1。
以下是 JavaScript String localeCompare() 方法的另一个示例。在此示例中,我们使用此方法将字符串 “你好” 与使用当前区域设置 “en” 的给定字符串 “HELLO” 进行比较。
输出
执行上述程序后,它将返回 1。
Compare string: hello
Current locales: en
The str.localeCompare(compare_str) method returns: 1
示例 3
当我们将所有三个参数 compareString、locales 和 options 传递给 localeCompare() 方法时,它会使用当前 locale 将 compareString 与给定的字符串进行比较,并且输出格式将根据指定的选项进行调整。
输出
上述程序生成以下输出 -
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