在JavaScript中检查字符串是否相等的正确方法是什么?


当前回答

让我想到这个问题的是填充和空白

检查我的箱子

 if (title === "LastName")
      doSomething();

标题是"姓"

也许你需要像这样使用修剪函数

var title = $(this).text().trim();

其他回答

考虑到这两个字符串可能都非常大,有两种主要的方法按位搜索和localeCompare

我推荐这个函数

function compareLargeStrings(a,b){
    if (a.length !== b.length) {
         return false;
    }
    return a.localeCompare(b) === 0;
}

如果知道它们是字符串,则不需要检查类型。

"a" == "b"

但是,请注意字符串对象是不相等的。

new String("a") == new String("a")

将返回false。

调用valueOf()方法将其转换为String对象的原语,

new String("a").valueOf() == new String("a").valueOf()

将返回true

让我想到这个问题的是填充和空白

检查我的箱子

 if (title === "LastName")
      doSomething();

标题是"姓"

也许你需要像这样使用修剪函数

var title = $(this).text().trim();

对于字符串,我们有一个支持的方法localCompare,它在字符串比较中非常方便。在我看来,我们应该使用它,不需要把事情复杂化。

用法:

const a = 'Hello'
const b = 'Hell'

a.localCompare(a) // 0
a.localCompare(b) // 1
b.localCompare(a) // -1

字符串对象可以使用JSON.stringify()技巧检查。

var me = new String(“me”); var u = new String(“me”); var isEquel = JSON.stringify(me) === JSON.stringify(you); console.log(isEquel);