📅  最后修改于: 2023-12-03 14:42:29.980000             🧑  作者: Mango
在 PHP 中,有一个函数叫做 strcmp()
,它可以用来比较两个字符串是否相等。在 JavaScript 中,也有类似的函数可以实现相同的任务。
在 JavaScript 中,我们可以使用 ===
运算符来比较两个字符串是否相等。例如:
const str1 = "hello";
const str2 = "world";
if (str1 === str2) {
console.log("The strings are equal");
} else {
console.log("The strings are not equal");
}
当 str1
和 str2
不相等时,上述代码会输出 "The strings are not equal"。
如果你需要在 JavaScript 中比较字符串的顺序,你可以使用 localeCompare()
函数。例如:
const str1 = "hello";
const str2 = "world";
if (str1.localeCompare(str2) === 0) {
console.log("The strings are equal");
} else {
console.log("The strings are not equal");
}
当 str1
和 str2
相等时,上述代码会输出 "The strings are equal"。
localeCompare()
函数返回一个整数,表示两个字符串的比较结果。如果第一个字符串排在第二个字符串的前面,返回一个负数;如果两个字符串相等,返回 0;如果第一个字符串排在第二个字符串的后面,返回一个正数。
例如,下面的代码会输出一个负数,表示 "hello" 比 "world" 排在前面:
const str1 = "hello";
const str2 = "world";
console.log(str1.localeCompare(str2)); // -1
除了上述的 ===
运算符之外,JavaScript 还支持其他的比较运算符。例如:
<
:小于<=
:小于等于>
:大于>=
:大于等于下面的代码演示了如何使用这些运算符比较两个字符串:
const str1 = "hello";
const str2 = "world";
if (str1 < str2) {
console.log("The first string is less than the second");
} else if (str1 > str2) {
console.log("The first string is greater than the second");
} else {
console.log("The strings are equal");
}
当 str1
小于 str2
时,上述代码会输出 "The first string is less than the second";当 str1
大于 str2
时,上述代码会输出 "The first string is greater than the second";当 str1
等于 str2
时,上述代码会输出 "The strings are equal"。
值得注意的是,在 JavaScript 中比较字符串大小时,使用的是 Unicode 码点顺序,而不是字典序。这就意味着,当字符串包含 Unicode 字符时,可能会出现一些奇怪的结果。例如,"ä" < "z"
返回的是真,因为字母 "ä" 的 Unicode 码点比字母 "z" 小。