我有以下功能:檢查是否使用Javascript .split()失敗
var checkCode=function(codeString){
var ifs=codeString.split("if");
...
}
有沒有一種方法來檢查代碼失敗,在沒有找到任何if
字符串從codeString
拆分輸入到該功能?
我有以下功能:檢查是否使用Javascript .split()失敗
var checkCode=function(codeString){
var ifs=codeString.split("if");
...
}
有沒有一種方法來檢查代碼失敗,在沒有找到任何if
字符串從codeString
拆分輸入到該功能?
它將以整個字符串作爲唯一條目返回一個數組。
if(codeString === ifs[0]) //nothing was split
試試這個:
var checkCode=function(codeString){
var ifs = codeString.split("if");
if(ifs.length == 1){ alert('no split'); }
else{ alert('splitted'); }
return ifs;
}
var str = "dfsdfif";
checkCode(str);
它看起來像所有你想要的是檢查功能拆分並返回動作的布爾狀態。如果是的話,這裏有一個簡單的檢查:
var canSplit = function(str, token){
return (str || '').split(token).length > 1;
}
和使用方法如下:
canSplit('test if this works', 'if'); // returns true
canSplit('test that this fails', 'if'); // returns false
在這種情況下,您可以使用'indexOf'來替代分割字符串,這可能會更快一點。 –
@FelixKling,同意!因爲這個案例是在.split()周圍的。表演將是一個不同的話題,但我同意indexOf是更快。 – SimoAmi
您可以嘗試的String.prototype
includes
方法。就像下面的例子。
var your_var = codeString.includes("if");//return true or false
如果字符串包含指定的字符否則返回false
它返回true
。根據true
或false
,您可以決定是否要split
字符串。
如果'if'不包含'ifs'的長度將是1 – megawac