我有这个javascript代码:
if (fromState.name == "home.subjects.subject.exams.exam.tests.test" &&
toState.name == "home.subjects.subject.exams.exam.tests") {
tes.test.current = false;
tes.test = null;
}
我知道我可以在这里做一个简单的比赛:
toState.name == "home.subjects.subject.exams.exam.tests"
检查toState名称。
但我如何检查toState.name 不包含字符串:
"home.subjects.subject.exams.exam.tests" ?
例如toStateName可以是:
"home" or "home.access" or "home.city"
答案 0 :(得分:4)
您正在寻找indexOf
var x = "home.subjects.subject.exams.exam.tests";
console.log(x.indexOf('subjects')); // Prints 5
console.log(x.indexOf('state')); // Prints -1
答案 1 :(得分:1)
但我怎么能检查toState.name不包含字符串:
var strArr = "home.subjects.subject.exams.exam.tests.test".split(".");
var name = "home.subjects.subject.exams.exam.tests";
var contains = false;
strArr.reduce( function(prev, current){
if ( name.indexOf( current ) != -1 )
{
contains = true;
}
return prev + "." + current;
} );
if (contains)
{
alert( "yes it contains" );
}
else
{
alert( "Nope" );
}
答案 2 :(得分:1)
var include_flag = toState.name.includes("home.subjects.subject.exams.exam.tests");
return !include_flag;
使用JS include方法可能是最好的选择。我回答这个问题有点晚了,但是我只是自己自己仔细研究了一下,并在对代码摆弄一些之后得出了这个答案。如果toState.name
不包括给定的字符串,则此代码将返回true。
希望这可以帮助任何人搜索我遇到的相同问题!
答案 3 :(得分:0)
您可以使用int main() {
int array[] = {6,3, 4, 6, 2};
int *sizes = array;
cout << sizeof(sizes); // output is 8
}
并将其取反。
includes
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes
答案 4 :(得分:0)
原始问题包含一个“?”三元运算符,因此这里是使用三元运算符的方法。
假设您正在玩扑克游戏,并且有彩虹翻牌。现在,假设您想从翻牌圈中脱掉西装。
let flop = "3h Js 9c";
let missingSuit = !flop.includes("c") ? "c" :
!flop.includes("d") ? "d" :
!flop.includes("h") ? "h" : "s";
// missingSuit equals "d"
答案 5 :(得分:0)
对我来说,jQuery版本是1.10.2
要检查字符串中的子字符串,可以使用 includes 这样的jQuery函数
var sub_str = "find"
var main_str = "find me if you can"
result = main_str.includes(sub_str)
if result{
* Stuff todo if result found
}else{
* Stuff todo if result not found
}
result true; // if you have sub string finder method separately and calling it from somewhere else.