js判斷兩個(gè)字符串是否相等的兩種方法
1、使用比較運(yùn)算符判斷兩個(gè)字符串是否相等
可以使用比較運(yùn)算符 === 或 == 來(lái)判斷兩個(gè)字符串是否相等。例如:
const str1 = "apple"
const str2 = "apple"
if (str1 === str2) {
console.log("兩個(gè)字符串相等")
} else {
console.log("兩個(gè)字符串不相等")
}
在上述代碼中,我們定義了兩個(gè)字符串變量 str1 和 str2,并使用 === 運(yùn)算符來(lái)比較它們的值。如果兩個(gè)字符串相等,則輸出 兩個(gè)字符串相等;否則輸出 兩個(gè)字符串不相等。
需要注意的是,當(dāng)使用 === 或 == 運(yùn)算符比較兩個(gè)字符串時(shí),會(huì)進(jìn)行類型轉(zhuǎn)換。因此,在實(shí)際使用中應(yīng)該根據(jù)需求選擇合適的比較方式。
2、使用 localeCompare() 方法判斷兩個(gè)字符串是否相等
localeCompare() 方法用于比較兩個(gè)字符串,并返回一個(gè)數(shù)字,表示兩個(gè)字符串的大小關(guān)系。如果兩個(gè)字符串相等,則返回 0;如果第一個(gè)字符串大于第二個(gè)字符串,則返回一個(gè)大于 0 的數(shù)字;如果第一個(gè)字符串小于第二個(gè)字符串,則返回一個(gè)小于 0 的數(shù)字??梢酝ㄟ^(guò)判斷返回值是否等于 0 來(lái)判斷兩個(gè)字符串是否相等。例如:
const str1 = "apple"
const str2 = "apple"
if (str1.localeCompare(str2) === 0) {
console.log("兩個(gè)字符串相等")
} else {
console.log("兩個(gè)字符串不相等")
}
在上述代碼中,我們使用 localeCompare() 方法比較了兩個(gè)字符串的大小關(guān)系,并判斷返回值是否等于 0。如果等于,則輸出 兩個(gè)字符串相等;否則輸出 兩個(gè)字符串不相等。
需要注意的是,當(dāng)使用 localeCompare() 方法比較兩個(gè)字符串時(shí),如果兩個(gè)字符串在當(dāng)前語(yǔ)言環(huán)境下無(wú)法比較,則會(huì)返回一個(gè) NaN 值。因此,在實(shí)際使用中應(yīng)該根據(jù)需求選擇合適的比較方式。
補(bǔ)充知識(shí):== 操作符
“等同”操作符,簡(jiǎn)單判斷2個(gè)變量值是否相等,變量類型不一致時(shí),會(huì)做類型轉(zhuǎn)換(即兩個(gè)操作數(shù)類型不一致,它會(huì)在某些時(shí)候自動(dòng)對(duì)操作數(shù)進(jìn)行類型轉(zhuǎn)換),即忽略變量的類型進(jìn)行比較
例1:
var str1 = "123456" ; // 字符串
var str2 = "123456" ; // 字符串
alert(str1==str2) ; // 打印出 true,即相等
例2:
var str1 = 123456 ; // 整型
var str2 = "123456" ; // 字符串
alert(str1==str2) ; // 打印出 true,即相等
