如何比较 javascript if 条件下的两个字符串
how to compare two strings in javascript if condition
我记不起如何在 if 语句中比较这两个字符串。我要做的是检查我的变量 compare
是否等于 page1
或 page2
如果不等于,则转到 else 语句。
var compare = "page3";
if (compare === "page1" || "page2") {
document.body.innerHTML = "github url";
} else {
document.body.innerHTML = "non-github url";
}
您可以检查每个选项。
if (compare === "page1" || compare === "page2") {
或者您可以使用数组并使用 Array#some
之类的存在量词来检查,例如
if (["page1", "page2"].some(a => a === compare)) {
var compare = "page3";
if (compare === "page1" || compare === "page2") {
document.body.innerHTML = "github url";
} else {
document.body.innerHTML = "non-github url";
}
只要您在一个 if
条件中检查多项内容,就必须将每个条件分开编写。所以,测试必须写成:
// If compare equals "page1" OR compare equals "page2"
if (compare === "page1" || compare === "page2") {
当您有一个可能包含许多不同值的变量时,使用 switch
语句可能更合乎逻辑且更有效,因为它只需查找一次变量的值。
另外,记住字符串是文字,"page1" 不等于 "Page1"。要进行 case-insensitive 比较,您可以先将所有值强制为小写(或大写),然后相互检查(如此处所示):
switch (compare.toLowerCase()) {
case "page1" :
// Do work here
break;
case "page2" :
// Do work here
break;
case "page3" :
// Do work here
break;
default :
// Do work here
break;
}
a.localeCompare(b)
是比较较大字符串的另一种很酷的方法
function areEqual(a, b){
if (a.length !== b.length) {
return false;
}
return a.localeCompare(b) === 0;
}
if(areEqual(a,b)){...}
尝试
if( ["page1", "page2"].includes(compare) ){...}
var compare = "page3";
if( ["page1", "page2"].includes(compare) ) {
document.body.innerHTML = "github url";
} else {
document.body.innerHTML = "non-github url";
}
我记不起如何在 if 语句中比较这两个字符串。我要做的是检查我的变量 compare
是否等于 page1
或 page2
如果不等于,则转到 else 语句。
var compare = "page3";
if (compare === "page1" || "page2") {
document.body.innerHTML = "github url";
} else {
document.body.innerHTML = "non-github url";
}
您可以检查每个选项。
if (compare === "page1" || compare === "page2") {
或者您可以使用数组并使用 Array#some
之类的存在量词来检查,例如
if (["page1", "page2"].some(a => a === compare)) {
var compare = "page3";
if (compare === "page1" || compare === "page2") {
document.body.innerHTML = "github url";
} else {
document.body.innerHTML = "non-github url";
}
只要您在一个 if
条件中检查多项内容,就必须将每个条件分开编写。所以,测试必须写成:
// If compare equals "page1" OR compare equals "page2"
if (compare === "page1" || compare === "page2") {
当您有一个可能包含许多不同值的变量时,使用 switch
语句可能更合乎逻辑且更有效,因为它只需查找一次变量的值。
另外,记住字符串是文字,"page1" 不等于 "Page1"。要进行 case-insensitive 比较,您可以先将所有值强制为小写(或大写),然后相互检查(如此处所示):
switch (compare.toLowerCase()) {
case "page1" :
// Do work here
break;
case "page2" :
// Do work here
break;
case "page3" :
// Do work here
break;
default :
// Do work here
break;
}
a.localeCompare(b)
是比较较大字符串的另一种很酷的方法
function areEqual(a, b){
if (a.length !== b.length) {
return false;
}
return a.localeCompare(b) === 0;
}
if(areEqual(a,b)){...}
尝试
if( ["page1", "page2"].includes(compare) ){...}
var compare = "page3";
if( ["page1", "page2"].includes(compare) ) {
document.body.innerHTML = "github url";
} else {
document.body.innerHTML = "non-github url";
}