为什么我每次都不匹配.. 这段代码有什么问题
var CourseDesc = 'Master of Computer Application'
var str = CourseDesc.split(" ");
alert(str[0]);
var str2 = 'Master';
if(str == str2){
alert("Matched");
}else{
alert("Not Matched");
}
有人面对这个吗?
答案 0 :(得分:1)
String.Split方法返回包含子字符串的数组。
因此,您的str
变量是一个数组而不是一个字符串。
<强> if(str[0] == str2)
强>
var CourseDesc = 'Master of Computer Application'
var str = CourseDesc.split(" ");
alert(str[0]);
var str2 = 'Master';
if(str[0] == str2){
alert("Matched");
}else{
alert("Not Matched");
}
答案 1 :(得分:-2)
从问题中不清楚OP是否只对匹配主字符串中的第一个单词感兴趣,但是,如果您只想知道关键字(str2)是否在分割结果中的任何位置第一个字符串(正如已经指出的那样,是一个数组),你可以只查找一个索引。
或者,如演示中的第二个代码块所示,您可以在不拆分的情况下匹配原始字符串:
var CourseDesc = 'Master of Computer Application'
var str = CourseDesc.split(" ");
var str2 = 'Master';
if (str.indexOf(str2) != -1) {
alert("Matched");
} else {
alert("Not Matched");
}
var str3 = 'Master of Computer Application';
var str4 = 'Master';
if (str3.match(str4)) {
console.log("Matched");
} else {
console.log("Not Matched");
}
答案 2 :(得分:-2)
var CourseDesc = 'Master of Computer Application'
var str = CourseDesc.split(" ");
alert(str[0]);
var str2 = 'Master';
if(str == str2){
alert("Matched");
}else{
alert("Not Matched");
}
如果你想将CourseDesc与你可以尝试for循环的任何关键字匹配,那么str就是数组
var CourseDesc = 'Master of Computer Application'
var str = CourseDesc.split(" ");
var str2 = 'Master';
for(var i=0 ;i<str.length; i++){
alert(str[i]);
if(str[i] == str2){
alert("Matched");
}else{
alert("Not Matched");
}
}