JavaScript 比较字符串的最佳方法
在本文中,我们将了解使用内置的JavaScript方法比较字符串的最佳方法,并通过示例来展示它们的实现。问题是如何在JavaScript中优化地比较2个字符串。为此,下面讨论了一些最常用的技术。以下示例中使用了下面讨论的方法。
String localeCompare()
方法: 该方法按照当前语言环境比较两个字符串。当前语言环境基于浏览器的语言设置。该方法返回一个数字,指示字符串在排序顺序中是在compareString之前,之后还是相等。
语法:
string.localeCompare(String_2);
参数:
- String_2: 此必需参数指定要进行比较的字符串。
请参考 JavaScript 操作符完全参考 文章了解操作符的详细信息。
示例1: 此示例使用 localeCompare() 方法 比较两个字符串,并返回 0、-1或1 。该方法进行 区分大小写的比较。
let str1 = "GFG"
let str2 = "GeeksforGeeks"
let ans = str1.localeCompare(str2);
let res = "";
if (ans == -1) {
res = '"' + str1 + '" comes before "' + str2 + '"';
} else if (ans === 0) {
res = 'Both string are same';
} else {
res = '"' + str1 + '" comes after "' + str2 + '"';
}
console.log(res);
输出
"GFG" comes after "GeeksforGeeks"
示例2: 这个示例通过编写一个条件来比较两个字符串,返回 0,-1 或 1 依赖于比较。此方法还进行了 大小写敏感的比较 。
let str1 = "Geeks"
let str2 = "GFG"
let ans = str1 < str2 ? -1 : (str1 > str2 ? 1 : 0);
let res = "";
if (ans == -1) {
res = '"' + str1 + '" comes before "' + str2 + '"';
} else if (ans === 0) {
res = 'Both string are same';
} else {
res = '"' + str1 + '" comes after "' + str2 + '"';
}
console.log(res);
输出
"Geeks" comes after "GFG"
示例3: 该示例通过使用 localeCompare()方法 比较两个相同的字符串(区分大小写)。
let str1 = "GeeksforGeeks"
let str2 = "GeeksforGeeks"
let ans = str1.localeCompare(str2);
let res = "";
if (ans == -1) {
res = '"' + str1 + '" comes before "' + str2 + '"';
} else if (ans == 0) {
res = 'Both string are same';
} else {
res = '"' + str1 + '" comes after "' + str2 + '"';
}
console.log(res);
输出
Both string are same