3 回答

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
使用indexOf()來代替。
function isContains(myString) {
let subString = 'test1234';
if(myString.indexOf(subString) > -1) {
// to do some work
} else {
// return some error.
}
}

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可以使用正則表達(dá)式來檢查該值是否存在;
示例 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))

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊
強(qiáng)烈建議使用includes()overindexOf()并且進(jìn)一步 indexOf 返回出現(xiàn)的索引,您希望立即得到答案 - 如果在搜索字符串中找到該子字符串,則為 false / true 。
您的功能完全符合您的要求。我建議隔離這個(gè)函數(shù)的檢索并使它更純,然后當(dāng)你有返回布爾值時(shí),你可以在之后使用它來運(yùn)行你想要的任何邏輯。通過這種方式,您可以保持此功能的純凈并更好地分離您的關(guān)注點(diǎn)。
我還相信,如果您像在我提供的示例中那樣隔離這些功能,那么您可以更輕松地調(diào)試問題。
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.
}
希望我能幫上忙,如果您有任何進(jìn)一步的需要,請隨時(shí)告訴我。
添加回答
舉報(bào)