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