js判断两个字符串是否相等的两种方法

寻技术 JS脚本 / JAVA编程 2023年07月11日 186

1、使用比较运算符判断两个字符串是否相等

可以使用比较运算符 ===== 来判断两个字符串是否相等。例如:

const str1 = 'apple'
const str2 = 'apple'
if (str1 === str2) {
  console.log('两个字符串相等')
} else {
  console.log('两个字符串不相等')
}

在上述代码中,我们定义了两个字符串变量 str1str2,并使用 === 运算符来比较它们的值。如果两个字符串相等,则输出 两个字符串相等;否则输出 两个字符串不相等。

需要注意的是,当使用 ===== 运算符比较两个字符串时,会进行类型转换。因此,在实际使用中应该根据需求选择合适的比较方式。

2、使用 localeCompare() 方法判断两个字符串是否相等

localeCompare() 方法用于比较两个字符串,并返回一个数字,表示两个字符串的大小关系。如果两个字符串相等,则返回 0;如果第一个字符串大于第二个字符串,则返回一个大于 0 的数字;如果第一个字符串小于第二个字符串,则返回一个小于 0 的数字。可以通过判断返回值是否等于 0 来判断两个字符串是否相等。例如:

const str1 = 'apple'
const str2 = 'apple'
if (str1.localeCompare(str2) === 0) {
  console.log('两个字符串相等')
} else {
  console.log('两个字符串不相等')
}

在上述代码中,我们使用 localeCompare() 方法比较了两个字符串的大小关系,并判断返回值是否等于 0。如果等于,则输出 两个字符串相等;否则输出 两个字符串不相等。

需要注意的是,当使用 localeCompare() 方法比较两个字符串时,如果两个字符串在当前语言环境下无法比较,则会返回一个 NaN 值。因此,在实际使用中应该根据需求选择合适的比较方式。

补充知识:== 操作符

“等同”操作符,简单判断2个变量值是否相等,变量类型不一致时,会做类型转换(即两个操作数类型不一致,它会在某些时候自动对操作数进行类型转换),即忽略变量的类型进行比较

例1:

var str1 = "123456" ; // 字符串
var str2 = "123456" ; // 字符串
alert(str1==str2) ; // 打印出 true,即相等

例2:

var str1 = 123456 ; // 整型
var str2 = "123456" ; // 字符串
alert(str1==str2) ; // 打印出 true,即相等

总结

关闭

用微信“扫一扫”