给定一个包含字符串值的变量 str
,这两行代码是否等价?
A行:
if ( [ 'foo', 'bar', 'baz' ].indexOf( str ) > -1 ) {
B 行:
if ( /^foo|bar|baz$/.test( str ) ) {
最佳答案
不完全是。管道包括 ^
和 $
作为替代。我不太清楚 JS 正则表达式的语法,但是如果您正在寻找仅包含 foo
或 bar
的 str
或 baz
,使用表达式 /^(foo|bar|baz)$/
。如果您想做一些不同的事情,请告诉我,我会尽力解决它。
关于javascript - RegExp 等价于 array.indexOf( str ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8283331/