localeCompare()
方法的语法为:
str.localeCompare(compareStr, locales, options)
在这里, str
是一个字符串。
localeCompare()参数
localeCompare()
方法采用:
- compareStr-与
str
相比较的字符串 。 - 语言环境和选项 (可选)-这些参数通过指定要使用的格式约定来自定义函数 。
从localeCompare()返回值
- 如果参考字符串在compareStr之前排序,则返回负数(-1) 。
- 如果两个字符串相等,则返回0 。
- 如果参考字符串在compareStr之后排序,则返回正数(1) 。
注意 :由于返回的负整数和正整数在浏览器之间会有所不同,因此请勿依赖精确值-1或1 。
示例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