📜  Javascript字符串localeCompare()

📅  最后修改于: 2020-09-27 07:08:37             🧑  作者: Mango

JavaScript String localeCompare()方法检查给定字符串是否以排序顺序排在其他字符串之前,之后还是与其他字符串相同。

localeCompare()方法的语法为:

str.localeCompare(compareStr, locales, options)

在这里, str是一个字符串。


localeCompare()参数

localeCompare()方法采用:

  • compareStr-str相比较的字符串 。
  • 语言环境选项 (可选)-这些参数通过指定要使用的格式约定来自定义函数 。

从localeCompare()返回值
  • 如果参考字符串在compareStr之前排序,则返回负数(-1)
  • 如果两个字符串相等,则返回0
  • 如果参考字符串在compareStr之后排序,则返回正数(1)

注意 :由于返回的负整数和正整数在浏览器之间会有所不同,因此请勿依赖精确值-11


示例1:使用localeCompare()
// letter 'h' comes after 'c'
let result = "h".localeCompare("c");
console.log(result); // 1

// letter 'a' comes before 'c', so 'after' comes before 'car'
let result1 = "after".localeCompare("car");
console.log(result1);

// words 'JavaScript' & 'JavaScript' are equivalent
let result2 = "JavaScript".localeCompare("JavaScript");
console.log(result2); // 0

输出

1
-1
0

示例2:将localeCompare()与语言环境和选项一起使用
// using locale
let value1 = "ä".localeCompare("z", "de");
console.log(value1); // a negative value: in German, ä sorts before z

let value2 = "ä".localeCompare("z", "sv");
console.log(value2); // a positive value: in Swedish, ä sorts after z

// default
console.log("5".localeCompare("40")); // 1

// using options
let value3 = "5".localeCompare("40", undefined, { numeric: true });
console.log(value3); // a negative value

let value4 = "Cliché".localeCompare("café", "fr", { ignorePunctuation: true });
console.log(value4); // a positive value

输出

-1
-1
1
-1
1