在JavaScript中in操作符。字符串比较

'in' operator in JavaScript. String comparison

本问题已经有最佳答案,请猛点这里访问。

嗨,我是javascript新手,我发现了一个基本问题:

当我在python中使用这段代码时:

1
'a' in 'aaa'

我得到了True

当我在javascript中做同样的操作时,我会得到错误:

1
TypeError: Cannot use 'in' operator to search for 'a' in aaa

如何得到与Python相似的结果?


我认为一种方法是使用string.indexof()。

1
'aaa' .indexOf('a') > -1

在javascript中,in运算符用于检查对象是否具有属性


你在找indexOf

1
2
3
'aaa'.indexOf('a') == 0 //if a char exists in the string, indexOf will return
                        // the index of the first instance of the char
'aaa'.indexOf('b') == -1 //if a char doesn't exist in the string, indexOf will return -1


尝试:

1
2
3
if('aaa'.search('a')>-1){
   //
}

来自MDN:

The in operator returns true if the specified property is in the specified object.

你对'aaa'.indexOf('a')感兴趣。


重复(如何检查字符串是否包含javascript中的子字符串?)

试试这个:

1
2
var s ="aaaabbbaaa";
var result = s.indexOf("a") > -1;