3 回答
![?](http://img1.sycdn.imooc.com/533e4c1500010baf02200220-100-100.jpg)
TA贡献1735条经验 获得超5个赞
使用indexOf()来代替。
function isContains(myString) {
let subString = 'test1234';
if(myString.indexOf(subString) > -1) {
// to do some work
} else {
// return some error.
}
}
![?](http://img1.sycdn.imooc.com/533e4d660001312002000200-100-100.jpg)
TA贡献1796条经验 获得超10个赞
您可以使用正则表达式来检查该值是否存在;
示例 1 不包含特定字符串
var test = 'my-string-test1-rrr';
console.log(' test --- ', test.match(/test1234/g))
例子2
包含特定字符串
var test = 'my-string-test1234-rrr';
console.log(' test --- ', test.match(/test1234/g))
![?](http://img1.sycdn.imooc.com/5458453d0001cd0102200220-100-100.jpg)
TA贡献1770条经验 获得超3个赞
强烈建议使用includes()overindexOf()并且进一步 indexOf 返回出现的索引,您希望立即得到答案 - 如果在搜索字符串中找到该子字符串,则为 false / true 。
您的功能完全符合您的要求。我建议隔离这个函数的检索并使它更纯,然后当你有返回布尔值时,你可以在之后使用它来运行你想要的任何逻辑。通过这种方式,您可以保持此功能的纯净并更好地分离您的关注点。
我还相信,如果您像在我提供的示例中那样隔离这些功能,那么您可以更轻松地调试问题。
function isContains(myString) {
let subString = 'test1234';
let isContains = false;
if(myString.includes(subString)) {
isContains = true;
} else {
isContains = false;
}
return isContains;
}
您可以在代码的稍后阶段像这样使用它:
const myString = 'my-string-test1-rrr';
let shouldRunOtherLogic = isContains(myString);
if (shouldRunOtherLogic) {
// to do some work
} else {
// return some error.
}
希望我能帮上忙,如果您有任何进一步的需要,请随时告诉我。
添加回答
举报